如何从TFS中删除nuget Packages文件夹?

时间:2014-05-22 11:43:59

标签: tfs nuget

我刚刚经历了一个地狱。事实证明,TFS一直在同步软件包,我最终得到了两个版本的Microsoft.Web.Optimization及其依赖项。 NuGet确信我安装了最新版本,甚至重新安装也没有改变。但与此同时,我的项目不会构建,或者,如果他们构建,他们将无法启动,抱怨他们无法找到清单中给出的库版本。

我设法通过从NuGet控制台卸载软件包,从硬盘中物理删除文件夹,然后重新安装(重新安装缺少的最新版本)来解决它。但是我手动删除的包文件夹仍然位于Source Control Explorer中。我无法删除它们,当我选择其中一个时,删除按钮显示为灰色。当我下次获得最新版本时,我担心他们会再来。

我该如何预防?我想完全从解决方案中删除它们。在最坏的情况下,可以忽略它们,但由于它们位于项目之上,我无法将它们输入到项目的.tfignore文件中,并且Visual Studio不允许我添加.tfignore文件解决方案本身。

2 个答案:

答案 0 :(得分:1)

是否可以选择将Packages文件夹签入TFS? NuGet现在支持自动包恢复,它可以在构建时自动恢复包。

以下是迁移到此新模型的文档:http://docs.nuget.org/docs/workflows/migrating-to-automatic-package-restore

使用签入的包文件夹可以为您节省很多麻烦。

答案 1 :(得分:0)

可以在这篇文章中得到最好的回答: https://stackoverflow.com/a/40409464/1690217

  

NuGet文档提供了instructions on how to accomplish this,我刚刚针对VSTS(Azure托管的TFS)成功针对Visual Studio 2015。截至2016年11月,所有内容都已全面更新。这也适用于Visual Studio 2017 RTM(2017年3月)。

我添加了以下文件,如上所述:

<强> .tfignore

\packages
!\packages\repositories.config

<强> .nuget \ nugget.config

<?xml version="1.0" encoding="utf-8"?>
<configuration>
  <solution>
    <add key="disableSourceControlIntegration" value="true" />
  </solution>
</configuration>

我必须删除packages文件夹并检查删除,然后包恢复将启动并重建文件夹,但VS将不再自动将其添加到源代码管理中。