Visual Studio 2015。文件未添加到TFS

12
我正在使用在visualstudio.com托管的TFS的Visual Studio 2015更新3版本。当我向Visual Studio中的一个项目添加C#类文件时,它不会自动添加到源代码控制中。对于同一解决方案中的其他项目,C#类文件会按预期自动添加。
然后,在出现此问题的项目中手动添加该文件时,我会得到以下问题;

enter image description here

我需要确认是否将文件添加到源代码控制。有一个类似的问题(Visual Studio 2015 new files not being added to source control automatically),与“发布”分支相关,但这里不是这种情况(至少我认为不是——我们的TFS项目从未被分支过)。我们从未手动配置过任何 .tfignore 文件。最近开始出现这个问题,在所有开发机器上都会出现,所以这可能不是客户端机器的问题。我一筹莫展,所以非常感谢任何帮助。
更新:我发现问题出现在名称以“.Lib”结尾的项目中。
项目:
- Core(正常) - Core.Lib(文件不会自动添加) - Communication(正常) - Communication.Lib(文件不会自动添加)
我尝试将一个测试项目Test.Lib添加到我的解决方案中。这个项目也没有被添加到 TFS 中,但项目 Test 是。

1
在.csproj文件中,文件的引用是否正确?可能是TFS认为它不是项目的一部分,所以不需要添加。 - ChrisF
1
@ChrisF:我正在修改我的问题,因为我找到了新的信息。实际上,这是一些项目存在的问题。毕竟,并不是所有的项目都有这个问题。我会在我的问题中更新新的信息。我认为你说的有道理。我会在几天内提供更新。 - Frode
1
问题已更新。 - Frode
1
我也是,使用带有 TFS 2010 服务器的 VS2015 Update 3。 - Zartag
1个回答

10

"lib"扩展名是问题的原因。尝试将项目文件夹重命名为其他名称,例如“CoreLib”。

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

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

"lib"扩展名用于二进制文件,并且默认情况下被Team Explorer忽略。我没有找到官方的文件类型列表,但其他受影响的文件类型包括dll、exe、obj等,可能还有其他类型的文件。您可以通过右键单击它们并选择“包括”来手动包含这些文件。


1
我会试一试。听起来没问题,但我一直按照这个命名模式做事也没有出过问题。 - Frode
1
听起来是最合理的解释。TFS中的行为最近必须已经发生了变化。在我看来,应该仍然有可能不过滤以“.Lib”结尾的文件夹和项目(!)。但可能存在一些我不知道的更高层次的原因。 - Frode
1
@Frode,看起来这是从VS2015 Update 3开始的。相关链接:https://dev59.com/llkT5IYBdhLWcg3wfvin - Christian Rodriguez
1
@ChristianRodriguez 感谢您的信息。我们将X.lib项目重命名为X.contracts后,没有遇到任何问题。我认为这两个问题都与TFS通过命名约定来排除文件夹的行为有关。可能是在Update 3中引入的。希望他们再次更改它。 - Frode

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接