Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/tfs/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Tfs tfignore在VS 2013中不工作_Tfs_Visual Studio 2013 - Fatal编程技术网

Tfs tfignore在VS 2013中不工作

Tfs tfignore在VS 2013中不工作,tfs,visual-studio-2013,Tfs,Visual Studio 2013,我正在使用Visual studio 2013和TFS 2013。我一直在尝试让文件夹中的所有文件不使用.tfignore签入,并且花了数小时的时间搜索和尝试不同的解决方案,但没有成功。我按照指示去做,没能让它工作。感谢您的帮助 我的项目结构大致如下: 计划 控制 睾丸 类别1.cs 类别2.cs .tfignore my.tfignore有一行代码: \睾丸 我的工作区设置为本地 当我对Class1.cs进行更改时,当我签入时,Class1.cs在挂起的签入列表中,我认为它不应该

我正在使用Visual studio 2013和TFS 2013。我一直在尝试让文件夹中的所有文件不使用.tfignore签入,并且花了数小时的时间搜索和尝试不同的解决方案,但没有成功。我按照指示去做,没能让它工作。感谢您的帮助

我的项目结构大致如下:

  • 计划
    • 控制
    • 睾丸
      • 类别1.cs
      • 类别2.cs
    • .tfignore
my.tfignore有一行代码: \睾丸

我的工作区设置为本地


当我对Class1.cs进行更改时,当我签入时,Class1.cs在挂起的签入列表中,我认为它不应该

我在msdn上问了同样的问题,得到的答复是,这似乎是VS 2013中不支持tfignore的一个bug。我也提交了一个关于msdn的bug,并结束了这个问题。希望它能很快得到修复。

我对此感到非常失望,尽管.tfignore文件与解决方案位于同一文件夹中,并且在构建后删除了packages文件夹(我正试图让TFS忽略该文件夹),但似乎没有任何效果,nuget将恢复包,包将显示在PendingChanges窗口中

但是我一时兴起,想起了我在某处看到的一些模糊的评论,我在解决方案资源管理器中右键单击该解决方案,并选择“启用Nuget package restore”-这将向该解决方案添加一个.Nuget文件夹,不料,在将解决方案签入TFS时,突然忽略了packages文件夹

我退出了VS2013,删除了packages文件夹,再次打开了解决方案,选择了“重建解决方案”,并恢复了包,但pending changes窗口中没有显示任何内容。终于成功了

经进一步调查,似乎是nuget.config文件和设置“disableSourceControlIntegration=true”是必需的,如所示


爱德华·王尔德的回答为我解决了这个问题。我不得不删除源代码管理本身上已经签入的包。然后tfs将忽略更改。

我遇到了一个类似的问题,tfs阻止我检查
。tfignore
文件从项目根目录向下放置了两个文件夹

只有当
.tfignore
文件放在项目的根文件夹中时,我才让它工作。(.tfignore文件并排放置在“主”文件夹中)


通过这种方式,TFS允许我签入
.tfignore
文件。

以前提交过Class1.cs文件吗?您只能忽略从未签入的文件。是的,Class1.cs已在TFS中。我将尝试使用一个不在TFS中的文件,看看goesI如何尝试在TestIgnore文件夹中添加一个新文件,但它仍在尝试签入该文件。这可能是由于.csproj文件添加了一条新文件的记录,该文件试图将其签入?我在msdn上问了同样的问题,得到的答复是,这似乎是VS 2013中不支持tfignore的错误。我也提交了一个关于msdn的bug,并结束了这个问题。希望它能很快得到修复。当阅读此评论时,很明显.tfignore完全不可用-(谢谢,这正是我在VS2013中使用TFS和NuGet包还原时遇到的问题。关键是.NuGet/NuGet.Config文件。请查看哪些状态。)默认情况下,NuGuff.CONFIG文件指示NuGET绕过将包二进制文件添加到源代码管理中。只要您将文件放在适当位置,自动包恢复就可以满足这个要求。注意,NuGuff.CONFIG仅在使用VisualStudio与Team Foundation Server(TFS)集成时才有效果。“因此,使用新的”自动包恢复“魔法(或多或少是零配置)看起来您必须手动添加此.nuget/nuget.Config文件,以防止nuget将所有还原包添加到挂起的更改中。仅将其放在.tfignore中是不够的,因为您还必须防止nuget通过TFS API以编程方式添加它们。谢谢各位!我设置了.tfignore以忽略包文件夹和我的nuget.config已将disableSourceControlIntegration设置为true,但visual studio仍希望尝试添加程序包。您对仍然可能出现的问题有何看法?@kristian,您的评论可以作为一个答案吗?您所说的为我解决了问题,我想感谢您。@Richardi,我在原始答案中添加了我的评论