Visual studio 如何防止VS2015 NuGet向TFS添加包
VS2013有一个bug,NuGet会将包添加为挂起的更改,即使您告诉它不要使用Visual studio 如何防止VS2015 NuGet向TFS添加包,visual-studio,tfs,nuget,visual-studio-2015,Visual Studio,Tfs,Nuget,Visual Studio 2015,VS2013有一个bug,NuGet会将包添加为挂起的更改,即使您告诉它不要使用.tfignore。有一个,但它不适用于VS2015/NuGet3,NuGet又回到了它的老把戏。是否有“Nu”解决方案?:-) Microsoft Connect项目:我也有同样的问题,但我还没有找到真正的解决方案 到目前为止,我找到的唯一解决办法是: 右键单击“团队资源管理器-挂起的更改”中的“包”文件夹 然后选择“撤消” 看起来这在NuGet Visual Studio 2015扩展版中已经修复了—至少更新到
.tfignore
。有一个,但它不适用于VS2015/NuGet3,NuGet又回到了它的老把戏。是否有“Nu”解决方案?:-)
Microsoft Connect项目:我也有同样的问题,但我还没有找到真正的解决方案 到目前为止,我找到的唯一解决办法是:
- 右键单击“团队资源管理器-挂起的更改”中的“包”文件夹 然后选择“撤消”
disableSourceControlIntegration
设置的nuget.config
文件disableSourceControlIntegration
设置(3.2以后的版本应该可以使用)这意味着您可以为您的用户配置文件指定
(位于%APPDATA%\NuGet\NuGet.Config
)或解决方案目录中的NuGet Config文件,例如\MySolution\.NuGet\NuGet.Config
在%APPDATA%\NuGet\NuGet.Config
文件中,在
XML标记之前添加以下内容
<config>
<add key="repositoryPath" value="C:\NuGetPackages" />
</config>
<solution>
<add key="disableSourceControlIntegration" value="true" />
</solution>
…您可以指定所需的任何路径-重要的是将其置于TFS工作区之外
现在你再也不用担心那些事了。您的解决方案文件夹将不再包含任何包;所有解决方案将默认使用您的自定义包位置
注-这项工作是在每个用户的基础上
到目前为止,我一直在以每个解决方案一个配置(\.nuget\nuget.config
)的方式进行相同的操作。感谢@dsghi的洞察力
确保您的解决方案文件夹不包含.nuget
文件夹(旧方法)。即使该文件夹未包含在解决方案中且仅包含在文件系统中,它也会覆盖所有内容 解决方法实际上只是第一步。“撤消挂起的更改”不会删除文件,而且您不必立即签入。不过,有一个合理的解决办法是好的,也许存在也是让这个虫子这么长时间得不到爱的诅咒。是的,你是对的。我想得太多了。这不是你想要的答案,但在我的头撞在TFS的墙上几年后,我说服了我的团队git是一条出路.gitignore
的工作原理与您预期的一样:-)我发现将disableSourceControlIntegration
选项添加到%APPDATA%\NuGet\NuGet.config
的默认配置文件中最简单,就像这样:
@dsghi您刚刚为我解决了一些自2013年以来一直困扰我的问题。我从来不知道有一个全局nuget.config文件@请记住,如果扩展已经存在(即packages文件夹已经在源代码管理中),那么简单地更新扩展可能无法解决此问题。在这种情况下,在VS开始忽略它之前,您需要从TFS中删除packages文件夹。使用Visual Studio的NuGet Package Manager的3.3.0.167。在向源代码管理添加解决方案时,它添加了packages文件夹、子文件夹、二进制文件等。我认为这个答案不起作用。@Mikee除非我误解了你,因为缺少nuget.config文件(以及disableSourceControlIntegration
指令)这就是为什么要签入这些包。这是可行的,但你确实有两个答案。我只想disableSourceControlIntegration
不想为repositoryPath
选择一个新位置。这样做的原因很可能是因为您已经更新了NuGet VS 2015扩展的版本。在3.1版中,无论配置文件在哪里,disableSourceControlIntegration
设置都不起作用。嗯,这很奇怪。我也从2013年开始做这件事。我的意思是,3.1打破了对该设置的支持——在这之前和之后都运行良好。