[英]How to keep VS2015 NuGet from adding packages to TFS
VS2013有一个错误,NuGet会将包添加为挂起的更改,即使你告诉它不要使用.tfignore
。 有一个解决方法 ,但它不适用于VS2015 / NuGet3,而NuGet又回到了它的旧技巧。 是否有“Nu”解决方法? :-)
Microsoft Connect项目: 尽管.tfignore,NuGet仍将包添加到TFS
看起来这在NuGet Visual Studio 2015扩展的版本3.2 RC中得到修复 - 至少这个版本的更新对我有用。
关于这个问题的讨论可以在这里找到,建议从NuGet 3.1更新到3.2 RC。
更新
扩展版本3.2现已发布(在此处找到),其中包括此修复程序。
澄清
要实现这一点,您需要做两件事:
disableSourceControlIntegration
设置的nuget.config
文件 disableSourceControlIntegration
设置的NuGet Visual Studio 2015扩展版本(从3.2开始的版本应该可以工作) 如文档中所示 :
NuGet首先从默认位置加载NuGet.config,然后从当前驱动器的根目录开始加载任何名为NuGet.config的文件,并以当前目录结束。
这意味着您可以在用户配置文件的默认配置文件中指定<solution><add key="disableSourceControlIntegration" value="true" /></solution>
(在%APPDATA%\\NuGet\\NuGet.Config
)或在解决方案目录中的NuGet配置文件中,例如\\MySolution\\.NuGet\\NuGet.config
。
在%AppData%\\NuGet\\NuGet.Config
文件中,在</configuration>
XML标记之前添加以下内容...
<config>
<add key="repositoryPath" value="C:\NuGetPackages" />
</config>
<solution>
<add key="disableSourceControlIntegration" value="true" />
</solution>
...你可以指定你想要的任何路径 - 重要的是将它放在你的TFS工作区外面!
现在你再也不用担心那些东西了。 您的解决方案文件夹将不再包含任何包; 所有解决方案都将默认使用您的自定义包位置。
注意 - 此工作基于每个用户。
到目前为止,我一直在以one-config-per-solution( \\.nuget\\NuGet.Config
)的方式做同样的事情。 感谢@dsghi的见解!
确保您的解决方案文件夹不包含.nuget
文件夹(旧方法)。 即使文件夹未包含在解决方案中且仅包含在文件系统中,它也会覆盖所有内容!
我有同样的问题,我还没有找到真正的解决方案。
到目前为止我找到的唯一解决方法是:
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.