如果手动添加项目且未包含在 vs2015 解决方案中,TFS 不会跟踪更改

Posted

技术标签:

【中文标题】如果手动添加项目且未包含在 vs2015 解决方案中,TFS 不会跟踪更改【英文标题】:TFS not tracking changes if items added manually and not included into vs2015 solution 【发布时间】:2020-02-29 22:12:19 【问题描述】:

我添加了一个带有 asp.net 核心项目的文件夹,它不受 Visual Studio 2015 支持(用于其他所有内容),因此不包含在一般解决方案中。 要将这些文件放在源代码管理中,我必须使用源资源管理器中的“将项目添加到文件夹”命令手动添加它们。因此它们已签入,但 tfs 不再跟踪它们的更改,尽管与服务器上的最新文件夹相比会显示差异:

如何让 TFS 跟踪它们并显示已编辑文件的未决更改?

【问题讨论】:

您刚刚将它们上传到 TFS,它们有何不同?比较有什么不同吗? 之后我对它们进行了很多更改。比较确实可以完美地显示差异 【参考方案1】:

根据您的描述,这些文件似乎都在 Visual Studio 之外。

不确定您使用的是服务器工作区还是本地工作区

添加或编辑工作区时,单击高级 >> 。有一个Location的设置:Local/Server。

对于本地工作区,当您的脚本或其他任何东西在 Visual Studio 之外更改文件时,您的工作区会自动检测更改

它还会检测添加或删除,但您必须使用 Excluded Changes 下的链接手动将它们包含到 Pending Changes 中。

对于服务器工作区,您可以选择使用Reconcile 命令。有关完整答案,请参阅https://***.com/a/22860674/932282。

此外,您还可以查看以下类似问题中的其他解决方案:

How to have TFS 2010 detect changes done to files outside of Visual Studio? Force TFS to detect changes

【讨论】:

与 Checkout 协调以处理没有待处理更改的文件 在本地工作区中删除文件时仍然存在问题。它已从服务器签出 @mk_yo 永远不要陷入这种情况。但猜想你可以尝试一下 Silvan 的解决方案。 ***.com/a/37164731/5391065 这可能会奏效。退房时。然后选择“撤消更改”。在此之后,您会收到一条消息“确认撤消结帐”。此消息仅针对实际上已更改的文件弹出!对每个文件按“否”或“对全部否”。如果不起作用,您可以手动选择这些已删除的文件,而不是将它们签出作为解决方法。【参考方案2】:

我认为您只是将它们添加到源浏览器而不是解决方案中,正如您所说。在这种情况下,没有编辑器应用程序(甚至是您的 VS)负责执行签出操作,因为它们不知道 TFS。另一方面,TFS 可以检测到文件发生了更改,但无法跟踪它们。 如果您没有在您的团队项目中激活“签出前获取最新版本”选项,那么您可以转到源代码管理并手动签出这些文件,然后签入它们完成工作后再次手动操作。在执行此操作之前,请谨慎备份源代码。

【讨论】:

以上是关于如果手动添加项目且未包含在 vs2015 解决方案中,TFS 不会跟踪更改的主要内容,如果未能解决你的问题,请参考以下文章

vs2015发布程序怎么指定安装路径

VS2010之C++

VS2015 、VS2017 MFC输出日志到控制台窗口

VS 2015 IDE 不支持 MS SQL 2000 生成 dbml

如何用VS2015建立C/C++程序

VS2015 Profiler 中的外部代码