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服务器签入错误-找不到与服务器相关的文件和命令行_Tfs_Tfs 2015_Tfvc - Fatal编程技术网

TFS服务器签入错误-找不到与服务器相关的文件和命令行

TFS服务器签入错误-找不到与服务器相关的文件和命令行,tfs,tfs-2015,tfvc,Tfs,Tfs 2015,Tfvc,这涉及到一个问题, “在签入我的项目时,我收到错误信息: Could not find file 'C\blah blah blah'. 我觉得这可能是我删除的一个旧项目的文件 我已尝试删除我的TFS连接和工作区 解决方案是: 当TFS对文件系统中不再存在的某些更改进行了暂存时,就会发生这种情况。例如,如果在Visual Studio中添加某些文件(将其添加到更改列表),则直接从文件系统中删除这些文件,然后尝试签入这些更改,它会抱怨找不到这些文件 要从列表中删除这些更改,可以打开源代码管理资

这涉及到一个问题,

“在签入我的项目时,我收到错误信息:

Could not find file 'C\blah blah blah'.
我觉得这可能是我删除的一个旧项目的文件

我已尝试删除我的TFS连接和工作区

解决方案是:

当TFS对文件系统中不再存在的某些更改进行了暂存时,就会发生这种情况。例如,如果在Visual Studio中添加某些文件(将其添加到更改列表),则直接从文件系统中删除这些文件,然后尝试签入这些更改,它会抱怨找不到这些文件

要从列表中删除这些更改,可以打开源代码管理资源管理器(视图>其他窗口>源代码管理资源管理器),删除不存在的文件,或者右键单击有问题的文件并撤消挂起的更改

您还可以从团队资源管理器中的“挂起的更改”面板中撤消这些特定更改

后续问题:

所以我的问题是,, 我如何在TFS服务器中执行类似的操作?在我们的团队中,这种情况连续发生多次。
这在个人的桌面上工作,但是TFS服务器中的等效命令行是什么,我可以将其合并到构建步骤中吗?

您以错误的方式从TFS中删除文件。TFS服务器不知道您的本地文件系统,如果您从本地文件夹中删除了文件,则该文件仍然存在于TFS中

这就是问题和错误的原因。如果开发人员想要删除一个文件,他从本地文件夹中删除了该文件,然后出现错误
找不到文件
,为了解决该问题,他会执行“撤消挂起的更改”“因此,该文件仍然存在于TFS上,当另一个开发人员在其系统中看到该文件时,他也会在本地将其删除,并且在签入时也会出现错误

因此,如果开发人员希望从TFS中删除文件,他需要右键单击该文件并“删除”和“签入”。如果他已经在本地删除了它,他可以执行“删除不存在的文件”和“签入”。现在,每个开发人员在“获取最新信息”时都不会获取文件

您还可以使用
delete
命令中的命令行删除文件:

tf delete [/lock:(none|checkin|checkout)] [/recursive] [/login:username,[password]] itemspec

在生成过程中,您可以添加命令行/powershell任务并运行
tf.exe

您可以使用以下命令从命令行撤消其他人的更改:

tf vc undo /workspace:workspacename;owner $/project/path/to/file
您可以通过拨打以下电话获取此信息:

tf vc status $/project/path/to/file /user:*
这允许您从服务器上删除挂起的更改,尽管这不会导致在相关开发人员的工作站上恢复文件

这两个命令都提供了一个
/recursive
选项,可以一次撤消特定路径下的多个文件

如果你正在使用。不幸的是,这并没有进入Visual Studio 2017,也没有针对Visual Studio 2017的TFS Power Tools

,它允许您在服务器工作区中查询当前签出以进行编辑的所有文件,并允许您集中撤消这些文件

完全防止这个问题 为了完全防止这个问题,你有几个选择。您可以切换到本地工作区,而不是服务器工作区。这些自动检测本地更改,不在TFS服务器本身上注册更改

您可以从
tf vc
命令行执行删除操作,而不是使用其他工具删除文件和文件夹,例如:

tf vc delete $/project/path/to/file

delete
命令还有一个
/recursive
选项。使用此命令不仅会更新本地文件夹,还会更新服务器工作区。

什么是“在TFS服务器中”?您是否正在寻找与VisualStudio所做的相同的命令行,而不是从开发人员机器上的命令行?