C# 参考误差TFS&;努吉

C# 参考误差TFS&;努吉,c#,reference,tfs,nuget,C#,Reference,Tfs,Nuget,试图开始工作的包是来自aspnetwebstack的夜间构建的nuget的AspNetWebApi 在TFS参考中遇到了一些问题,当我将nuget安装包安装到当前项目中,并且所有DLL都是本地的,因为它是一个网站项目时,我得到了一个奇怪的消息,如果我重建整个解决方案,它将顺利运行,但是当我更改CS文件中需要编译的最细微的事情时,错误会自动重复 你能让nuget只安装引用而不安装package dir和packages.config吗 不知是否有人能解决这个问题 或者,如果您有任何关于参考nuge

试图开始工作的包是来自aspnetwebstack的夜间构建的nuget的AspNetWebApi

在TFS参考中遇到了一些问题,当我将nuget安装包安装到当前项目中,并且所有DLL都是本地的,因为它是一个网站项目时,我得到了一个奇怪的消息,如果我重建整个解决方案,它将顺利运行,但是当我更改CS文件中需要编译的最细微的事情时,错误会自动重复

你能让nuget只安装引用而不安装package dir和packages.config吗

不知是否有人能解决这个问题


或者,如果您有任何关于参考nuget和tfs实践的好文章,您可以推荐。

简短回答:不,如果您希望nuget正常工作,您不能删除packages dir和config文件。Nuget将自定义目标添加到项目文件中,该文件读取packages.config和package文件夹并复制到bin文件夹。此外,nuget添加到项目中的dll引用使用指向packages文件夹的提示路径。如果删除packages文件夹,引用将无法解析

例如:

The type 'System.Net.Http.HttpMessageHandler' is defined in an 
assembly that is not referenced. You must add a reference to assembly 'System.Net.Http, 
Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a'. 

\Global.cs  

真的
..\packages\Microsoft.SqlServer.2008R2.Smo.1.0.0\lib\net40\Microsoft.SqlServer.Management.Sdk.Sfc.dll

我在一个项目中得到了完全相同的信息

在Visual Studio 2012中,我从“程序集>扩展”中包含了System.Net.Http。对话框顶部的“Targeting”语句显示“.NET Framework 4.5.1”。已检查版本2.0.0.0的“System.Net.Http”。但我还是收到了这个错误信息

结果表明,Visual Studio没有将此程序集复制到本地文件夹。它可能在我的机器上的某个地方抓取了另一个版本

下面是如何更改“复制本地”:在解决方案资源管理器中突出显示“System.Net.Http”引用后,按“F4”键转到其属性窗口。如果“复制本地”设置为“False”,请单击“False”并将其更改为“True”

这为我解决了问题

<Reference Include="Microsoft.SqlServer.Management.Sdk.Sfc, Version=10.0.0.0, Culture=neutral, PublicKeyToken=89845dcd8080cc91, processorArchitecture=MSIL">
  <Private>True</Private>
  <HintPath>..\packages\Microsoft.SqlServer.2008R2.Smo.1.0.0\lib\net40\Microsoft.SqlServer.Management.Sdk.Sfc.dll</HintPath>
</Reference>