【问题标题】:What is the difference between the below two in csproj file?csproj文件中的以下两个有什么区别?
【发布时间】:2016-02-14 22:27:40
【问题描述】:
 <ItemGroup>
    <ProjectReference Include="..\WindowsApplication2\WindowsApplication2.csproj">
      <Project>{7CE93073-D1E3-49B0-949E-89C73F3EC282}</Project>
      <Name>WindowsApplication2</Name>
    </ProjectReference>
  </ItemGroup>

  <ItemGroup>
    <Reference Include="WindowsApplication2, Version=1.0.0.0, Culture=neutral, processorArchitecture=MSIL">
      <SpecificVersion>False</SpecificVersion>
      <ExecutableExtension>.dll</ExecutableExtension>
      <HintPath>..\WindowsApplication2\bin\Release\WindowsApplication2.dll</HintPath>
    </Reference>   
 </ItemGroup>

【问题讨论】:

  • 但是,只有一个?这是一个哲学问题吗?
  • 我是在堆栈溢出中发布问题的新手!请多多包涵
  • 最好阅读help center 以了解如何询问以及询问什么
  • 我想你现在一定能看到这两种情况了!!现在请帮助我

标签: c# .net projects-and-solutions


【解决方案1】:

不同之处在于,在一种情况下,您有一个项目参考。这意味着 Visual Studio 将其作为项目、代码包含在内。你可以在你的解决方案中使用它,你可以修改它的代码。如果您更改WindowsApplication2,那么它将被重建并且生成的DLL文件将被复制到解决方案中所有依赖项目的输出文件夹。

在情况 2 中,您只需引用生成的 DLL 文件。它是一个生成的程序集,这意味着没有代码,无法编辑它,如果没有 .pdb 文件等,则无法调试它。这也意味着您每次制作时都必须构建和更新 DLL 文件改变它。

我可能是错的,但如果您的项目中有这两个引用,它将无法编译。

【讨论】:

  • 当我点击参考时,我只能添加 DLL 而不是 csproj!!我可以将 csproj 添加到唯一的解决方案(sln)文件中吗?我可以将 csproj 添加到项目而不是解决方案中吗?
  • @Yaswanth 是的,您需要将此项目包含到您的解决方案中或将其作为 DLL 引用。
  • @Yeldar Kurmangaliyev :如果我包含在解决方案中,那么我会将其视为 .sln 文件的一部分,但我不会将其视为 csproj 的一部分,但在我的项目中,我在 csproj 中看到了这一点,我我无法弄清楚它到底是什么
猜你喜欢
  • 2014-02-03
  • 2019-01-12
  • 2018-08-20
  • 1970-01-01
  • 2016-01-17
  • 2013-12-03
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多