繁体   English   中英

如何防止VS2015 NuGet向TFS添加包

[英]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现已发布(在此处找到),其中包括此修复程序。

澄清

要实现这一点,您需要做两件事:

  1. 包含disableSourceControlIntegration设置的nuget.config文件
  2. 一个尊重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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM