如何保持VS2015 NuGet不添加包到TFS
VS2013有一个错误的地方,即使你告诉它不要使用.tfignore
,NuGet会将这些软件包添加到待处理的更改中。 有一个解决方法 ,但它不适用于VS2015 / NuGet3,和NuGet回到它的老花样。 有没有“怒江”的解决方法? 🙂
Microsoft Connect项目: NuGet尽pipe.tfignore添加包到TFS
看起来好像在NuGet Visual Studio 2015 Extension的3.2 RC版中已经修复 – 至less在这个版本中更新了这个版本。
关于这个问题的讨论可以在这里find,build议从NuGet 3.1更新到3.2 RC。
更新
该版本的3.2版本现在已经发布(在这里find),其中包括此修复程序。
澄清
为了得到这个工作,你需要两件事情:
- 包含
disableSourceControlIntegration
设置的nuget.config
文件 - NuGet Visual Studio 2015扩展的一个版本尊重
disableSourceControlIntegration
设置(3.2以后的版本应该可以工作)
如文件所示 :
NuGet首先从默认位置加载NuGet.config,然后从当前驱动器的根目录开始加载任何名为NuGet.config的文件,结束于当前目录。
这意味着您可以在用户configuration文件的默认configuration文件 (在%APPDATA%\NuGet\NuGet.Config
)中指定<solution><add key="disableSourceControlIntegration" value="true" /></solution>
在解决scheme目录中的NuGetconfiguration文件中,例如\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>
…你可以指定你想要的任何path – 重要的是把它放在你的TFS工作区之外!
现在你再也不用担心那些东西了。 您的解决scheme文件夹将不再包含任何软件包; 所有解决scheme将默认使用您的自定义软件包位置。
注 – 这项工作是在每个用户的基础上。
到现在为止,我一直在以每个解决scheme( \.nuget\NuGet.Config
)的方式\.nuget\NuGet.Config
同样的事情。 感谢@dsghi的洞察力!
确保您的解决scheme文件夹不包含.nuget
文件夹(老办法)。 即使该文件夹不包含在解决scheme中,只在文件系统中,它将覆盖一切!
我有同样的问题,我还没有find一个真正的解决scheme。
目前唯一的解决方法是:
- 右键单击“团队资源pipe理器 – 挂起的更改”中的包文件夹并select“撤消”。