我试图让TFS(2013)忽略我的包文件夹。我不希望它源代码控制,因为我正在使用NuGet,它是伟大的!

我尝试了隐身(似乎不工作),我尝试了添加.tfignore文件-没有什么被忽略。为什么TFS团队不像很多Subversion客户端那样添加一个永久忽略文件夹或文件的选项呢?


当前回答

Terje的答案对我来说并不总是有效,有时它会工作一段时间,但随后它会再次为我等待一大堆“添加”。

我找到的唯一永久解决这个问题的方法是在我的工作区中隐藏packages文件夹。

例如:

Type      Server                Local
============================================
Active    $/Work/Main           C:\Code\Main
Cloaked   $/Work/Main/Packages

其他回答

将您的解决方案设置为在构建时恢复,将检入包文件夹和包文件,但不会检入包。

加一块鸡块。在解决方案中的.nuget文件夹中的配置文件。 在鸡块中加入以下物质。配置文件:

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

disablesourcecontrointegration是TFS版本控制的诀窍。

您需要使用本地工作区才能使.tfignore工作。.tfignore文件必须位于包含要忽略的文件或文件夹的文件夹中。

所以如果你的解结构是这样的:

\Project
   \Packages
   \OtherStuff
   foo.cs

你可以把你的.tfignore文件放在\Project中:

\Project
   \Packages
   \OtherStuff
   foo.cs
   .tfignore

在你的案例中.tfignore的内容是:

\包

这里有一些文档:http://msdn.microsoft.com/library/vstudio/ms245454(v=vs.110).aspx#tfignore

你可以永久设置这个一次性在你的AppData\漫游所有解决方案(旧的和新的)!

在您的%AppData%\NuGet\NuGet。配置文件,在</configuration> XML标记之前添加以下内容…

<config>
  <add key="repositoryPath" value="C:\NuGetPackages" />
</config>
<solution>
  <add key="disableSourceControlIntegration" value="true" />
</solution>

...你可以指定任何你想要的路径-重要的是把它放在你的TFS工作区之外!

现在你再也不用担心那些事了。您的解决方案文件夹将不再包含任何包;所有解决方案将默认使用您的自定义包位置。

注:此工作是基于每个用户。

如果你正在使用Git和TFS,你需要添加一个“。gitignore”文件。您可以在“团队项目|设置| '添加忽略文件'”中执行此操作。然后打开文件并取消Nuget Packages内置的ignore语句的注释。

如果您正在使用TFVC并且配置了本地工作区,则可以使用“。tfignore”文件,该文件遵循与Git文件相同的格式。我认为你需要“packages/”。