.net &引用;加上“参考”;VS2012中的*.csproj文件

.net &引用;加上“参考”;VS2012中的*.csproj文件,.net,clr,.net,Clr,我的理解是,如果我使用“Add refenrce”将一些DLL添加到我的项目中,这些引用信息将存储在*.csproj文件中,如下所示,编译后应将其存储在程序集清单中。 <Reference Include="Microsoft.VisualStudio.QualityTools.CodedUITestFramework, Version=11.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a, processorArchite

我的理解是,如果我使用“Add refenrce”将一些DLL添加到我的项目中,这些引用信息将存储在*.csproj文件中,如下所示,编译后应将其存储在程序集清单中。

<Reference Include="Microsoft.VisualStudio.QualityTools.CodedUITestFramework, Version=11.0.0.0,
 Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a, processorArchitecture=MSIL">
由于我在清单中没有看到一些程序集,我将它们从引用列表中删除,但项目甚至不会生成。

<Reference Include="Microsoft.VisualStudio.QualityTools.CodedUITestFramework, Version=11.0.0.0,
 Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a, processorArchitecture=MSIL">
关于.NET CLR,我有什么误解吗

下面是另一个相关的线程:

更新 在上面,我说我从参考列表中删除了它们,但项目甚至不会构建。这不是真的

我删除了程序集清单中没有提到的DLL引用,项目仍然构建良好。 这些信息也将从*.csproj文件中删除

因此,我认为我们可以在项目中加入一些不必要的参考,这些信息将进入*.csproj文件。但是如果编译器认为引用是不必要的,那么它将<>强> <>强>进入程序集清单。
谢谢

代码中未实际使用的程序集或项目引用(即“作为引用或项目引用存储在*.csproj中”)不包括在生成的程序集中。这是一种标准行为


一些工具(如Resharper)可以帮助您删除它们。

您应该剪切更新部分并粘贴作为答案。一天后,你可以接受自己的答案并结束讨论。
.assembly extern Microsoft.VisualStudio.TestTools.UITesting
{
  .publickeytoken = (B0 3F 5F 7F 11 D5 0A 3A )                         // .?_....:
  .ver 11:0:0:0
}

.assembly extern Microsoft.VisualStudio.TestTools.UITest.Extension
{
  .publickeytoken = (B0 3F 5F 7F 11 D5 0A 3A )                         // .?_....:
  .ver 11:0:0:0
}