VS2013有一个错误,即NuGet会将包添加为挂起的更改,即使你告诉它不要使用.tfignore
。有一个workaround,但它不能与VS2015 / NuGet3一起使用,而NuGet又恢复了它的旧技巧。有没有" Nu"解决方法吗? : - )
Microsoft Connect项目:NuGet adds packages to TFS despite .tfignore
答案 0 :(得分:41)
看起来这在NuGet Visual Studio 2015扩展程序的version 3.2 RC中得到修复 - 至少这个版本的更新对我有用。
有关此问题的讨论可以在here找到,建议从NuGet 3.1更新到3.2 RC。
<强>更新强>
扩展版本3.2现已发布(找到here),其中包含此修复程序。
<强>澄清强>
要实现这一目标,您需要做两件事:
nuget.config
设置disableSourceControlIntegration
文件
disableSourceControlIntegration
设置的NuGet Visual Studio 2015扩展版本(从3.2开始的版本应该有效)如docs:
所示NuGet首先从默认位置加载NuGet.config,然后从当前驱动器的根目录开始加载任何名为NuGet.config的文件,并以当前目录结束。
这意味着您可以在default config file中为您的用户个人资料(位于<solution><add key="disableSourceControlIntegration" value="true" /></solution>
)或解决方案目录中的NuGet配置文件指定%APPDATA%\NuGet\NuGet.Config
,例如{{1} }}
答案 1 :(得分:5)
在%AppData%\NuGet\NuGet.Config
文件中,在</configuration>
XML标记之前添加以下内容...
<config>
<add key="repositoryPath" value="C:\NuGetPackages" />
</config>
<solution>
<add key="disableSourceControlIntegration" value="true" />
</solution>
...你可以指定你想要的任何路径 - 重要的是将它放在你的TFS工作区外面!
现在你再也不用担心那些东西了。您的解决方案文件夹将不再包含任何包;所有解决方案都将默认使用您的自定义软件包位置。
注意 - 此作品基于每个用户。
到目前为止,我一直在以每配置一个配置(\.nuget\NuGet.Config
)的方式做同样的事情。感谢@dsghi的见解!
确保您的解决方案文件夹不包含.nuget
文件夹(旧方法)。即使文件夹未包含在解决方案中且仅包含在文件系统中,它也会覆盖所有内容!
答案 2 :(得分:0)
我遇到了同样的问题,但我还没有找到真正的解决方案。
到目前为止,我找到的唯一解决方法是: