如何排除"包"来自VS2010 + TFS2010中待处理更改的文件夹

时间:2014-04-15 10:54:23

标签: visual-studio-2010 tfs2010 nuget

我迫切希望能够对抗这个问题:当我在解决方案上启用nuget并从Web抓取丢失的包时,它会不断尝试将它们签入TFS,尽管我绝对不想要它

网上有很多关于这个问题的建议,但到目前为止还没有任何帮助。我根据这个设置完成了设置:http://docs.nuget.org/docs/workflows/using-nuget-without-committing-packages,试图“隐藏它们”,因为这里建议:http://www.xavierdecoster.com/post/2011/10/17/tell-tfs-not-to-add-nuget-packages-to-source-control - 一切都是徒劳的。我被卡住了。可能我对TFS客户端如何与NuGet和VS 2010一起工作缺乏一些批判性的理解。

感谢任何帮助。谢谢!

3 个答案:

答案 0 :(得分:1)

我知道的唯一方法是手动,但可以在某些时候自动化。

最大的问题是包文件夹被覆盖。您可以在Visual Studio中撤消包,不会删除文件。还有一个CLI:

C:\project\Main\packages> tf undo /recursive *

如果对repositories.config文件进行挂起更改,请不要使用此命令。

您只需要一个.bat文件来检查挂起的更改(repositories.config文件)并进行清理。

答案 1 :(得分:0)

我放弃了针对此问题的任何基于NuGet / Solution的方法。

我只是设置我的工作区,以便封装包。

例如,像这样设置工作区意味着Source控件忽略Packages:

Status    Server Path        Local Path
Active    $/TFS/             C:\Code
Cloaked   $/TFS/Packages

答案 2 :(得分:0)

DaveShaw建议甚至隐藏package文件夹仍然会导致问题,尤其是在向大型解决方案添加软件包时。到目前为止,我发现的最佳方法是创建另一个Visual Studio配置...

devenv /RootSuffix NoTFS

然后删除该配置的TFS提供程序

HKEY_CURRENT_USER\Software\Microsoft\VisualStudio\12.0NoTFS_Config\SourceControlProviders\{4CA58AB2-18FA-4F8D-95D4-32DDF27D184C}

我建议在删除之前导出该部分注册表,并确保从NoTFS配置中删除它。

之后,您可以在不使用TFS的情况下运行Visual Studio,方法是使用上面的RootSuffix参数启动它。