每次从 TFS 获取最新代码时,文件都会被排除

xam*_*mir 5 version-control tfs visual-studio windows-7-x64 visual-studio-2013

让我们理解问题:

对于我们在 Windows 7 x64 上使用 Visual Studio 2013 premium 的 ASP.NET 项目

开发人员 A的机器上:

  • 我们有一个TFS设置
  • 我们在项目中添加了一个新文件A
  • 我们checked-in在 TFS 源代码控制中新创建的文件

开发人员 B的机器上:

  • 我们有相同的TFS设置
  • 我们强行采用了最新的(通过特定选项 - 覆盖选项)版本
  • 文件 A被加载到项目中,但它仍然被排除在外
  • 开发人员 B手动将文件包含在项目中

这些文件都包含在内,这是我们关注的问题。为什么包含的文件在其他开发人员的机器上被排除在外?

新添加的文件会加载到开发人员 B 的机器上,但它们不会显示在解决方案树中。我们必须在显示所有文件后手动将它们包含在项目中

每个开发人员的机器上只有一个映射。代码将仅用于本地映射的工作区

我们还有一点点大的团队,所以对每一个开发人员。每次我们使用最新版本时都会发生这种情况。

我们如何抑制这种行为?有这样的设置吗?

我们尝试在网上搜索,找不到解决方案。

Pat*_*SFT 5

TFS 似乎自动排除了这些更改。您可能会遇到如下情况:

  • 它们未加载到您当前的解决方案中,因此团队资源管理器假定它们是作为不同解决方案的一部分制作的,并且您不希望将它们与与您所处的上下文匹配的更改一起签入。
  • 它们是在不同的工作区中创建的,团队资源管理器再次假设您要签入逻辑上有意义的文件组。

更多详细信息请参考jessehouwing在这个问题中非常详细的回答Team Foundation Server 中的“排除的更改”是什么?

而且,如果您正在与一个团队合作,那么您用来“强行”获取最新信息的方式不是推荐的解决方案。建议您仍然使用get latest下载 TFS 服务器上的文件。即使您可能无法获得该文件的“真正最新版本”。如果在检查操作期间存在冲突,您仍然可以对其进行处理并找出冲突。

更新


如果开发 A 已检入文件,但未检入项目文件(.csproj 文件),则如果您通过右键单击解决方案资源管理器中的项目或解决方案执行“获取最新信息” ,TFS 将不会下载它们。

但是,如果您右键单击源代码管理窗口中的文件夹并“获取最新信息”,您将正确下载文件。但是,它们不会加载到您的解决方案中,因为您还没有告诉 TFS 它们属于那里