【问题标题】:Visual Studio 2015. Files not added to TFSVisual Studio 2015。文件未添加到 TFS
【发布时间】:2016-12-20 07:31:27
【问题描述】:

我正在使用 Visual Studio 2015 更新 3 和在 visualstudio.com 上托管的 TFS。 当我将 C# 类文件添加到 Visual Studio 中的一个项目时,它不会自动添加到源代码管理中。对于同一解决方案中的其他项目,C# 类文件按预期自动添加。

当我在有此问题的项目中手动添加文件时,我收到以下问题;

我必须确认将文件添加到源代码管理。

有一个类似的问题(Visual Studio 2015 new files not being added to source control automatically),与“发布”分支相关,但这里不是这种情况(至少我是这么认为的——我们的 TFS 项目从未分支过)

我们从未手动配置过任何 .tfignore。 这种情况最近开始发生,并且发生在所有开发机器上,因此它可能不是客户端机器问题。

我一无所知,因此非常感谢任何帮助。

更新

我发现问题出现在名称以“.Lib”结尾的项目中

项目:

  • 核心(正常)
  • Core.Lib(文件未自动添加)
  • 通讯(正常)
  • Communication.Lib(文件未自动添加)

我尝试将测试项目Test.Lib 添加到我的解决方案中。该项目也未添加到 TFS,但项目 Test 已添加。

【问题讨论】:

  • .csproj 文件中是否正确引用了该文件?可能是 TFS 认为它不是项目的一部分,因此不需要添加。
  • @ChrisF:我正在改变我的问题,因为我发现了新信息。这实际上是一些项目的问题。毕竟,并非所有项目都有这个问题。我会用新信息更新我的问题。我认为你正在做某事。稍后我会提供更新
  • 问题已更新
  • 我也是,使用 VS2015 Update 3 和 TFS 2010 服务器。

标签: visual-studio tfs visual-studio-2015 tfs-2015


【解决方案1】:

“lib”扩展是问题所在。尝试将项目文件夹重命名为其他内容,例如。 “核心库”。

要重现此行为/错误,请尝试以下操作:

  1. 在 TFS 控制的目录中创建 Test 目录
  2. 在此目录中创建一个 Test.Lib 子目录。
  3. 将文件 test.cs 添加到 Test.Lib。 (Test\Test.Lib\test.cs)
  4. 在 Visual Studio 的源代码管理资源管理器中,尝试将新的测试目录添加到源代码管理中。您会在“排除的项目”标签上看到 test.cs。

二进制文件使用“lib”扩展名,默认情况下团队资源管理器会忽略这些扩展名。我在任何地方都没有找到正式的文件类型列表,但其他受影响的文件类型是 dll、exe、obj 和可能的其他文件类型。您可以通过右键单击这些文件并选择“包含”来手动包含这些文件。

【讨论】:

  • 我试试看。听起来不错,但我一直都遵循这种命名模式,没有任何问题。
  • 听起来是最合理的解释。 TFS 中的行为最近一定发生了变化。 IMO 应该仍然可以不过滤以“.Lib”(!)结尾的文件夹和项目。但可能还有一些我不知道的更高原因
  • @Frode 这似乎是从 VS2015 Update 3 开始的。相关:stackoverflow.com/questions/38523861/…
  • @ChristianRodriguez 感谢您提供信息。将 X.lib 项目重命名为 X.contracts 后,我们没有遇到任何问题。在我看来,这两个问题都与通过命名约定排除文件夹的 TFS 行为有关。可能在更新 3 中引入。希望他们再次更改它
猜你喜欢
  • 2018-05-27
  • 2017-12-07
  • 2016-08-14
  • 2018-10-18
  • 2016-11-26
  • 1970-01-01
  • 1970-01-01
  • 2018-05-24
  • 1970-01-01
相关资源
最近更新 更多