C# TFS构建保持抛出';无法执行get操作,因为文件在本地已存在';错误

C# TFS构建保持抛出';无法执行get操作,因为文件在本地已存在';错误,c#,asp.net,tfs,web-config,tfsbuild,C#,Asp.net,Tfs,Web Config,Tfsbuild,我目前正在开发一个基于ASP.NET的web应用程序,该应用程序通过TFS进行版本控制。TFS生成服务器配置为在每次签入时运行生成过程。我的问题是,每当我修改Web.Config文件并签入修改时,生成过程在获取源代码时总是抛出一个错误,该错误表示“无法执行get操作,因为该文件已在本地存在”。我试图从TFS中删除Web.Config并签入修改,但错误仍然存在,说“无法执行删除操作,因为该文件已在本地存在”。但是,当我从构建服务器的文件系统中手动删除该文件时,问题就消失了。你认为问题是什么? 我还

我目前正在开发一个基于ASP.NET的web应用程序,该应用程序通过TFS进行版本控制。TFS生成服务器配置为在每次签入时运行生成过程。我的问题是,每当我修改Web.Config文件并签入修改时,生成过程在获取源代码时总是抛出一个错误,该错误表示“无法执行get操作,因为该文件已在本地存在”。我试图从TFS中删除Web.Config并签入修改,但错误仍然存在,说“无法执行删除操作,因为该文件已在本地存在”。但是,当我从构建服务器的文件系统中手动删除该文件时,问题就消失了。你认为问题是什么? 我还没有在谷歌上找到任何与此相关的信息,所以如果你能帮助我,我将非常高兴。
非常感谢

在构建定义中,是否将清理工作区选项设置为全部


如果这没有帮助,您可以将日志详细性设置为诊断,看看是否还有关于这个问题的详细信息。

由于您使用的是TFS 2015版本(不是XAML版本),您可以在定义的repo选项卡上选中Clean


仅供参考-VSTS和TFS 15 RC1中的新代理将
/overwrite
传递到
tf get
,因此您无需每次都执行干净的构建。

在TFS 2015,VSTS中,我通过从如下所示的下拉列表中选择true解决了问题:


不要忘记在构建成功后将其设置回false,因为如果保持打开状态,它将始终执行清理,因此构建将花费更长的时间。

在我的情况下,将清理设置为true不起作用,我只是将本地路径目录更改为其他目录,它就起作用了


在TFS 2018的生成定义中出现错误“警告s-无法获取,因为目录已存在”后,我遇到了此线程。对我来说,我最终发现问题是因为我在构建定义的服务器路径中指定了完整的解决方案路径,而不仅仅是解决方案目录。从路径中删除解决方案名称(因此它只是一个文件夹引用)解决了该问题。希望这能帮助其他人认识到这一点


通常,直接在生成服务器上编辑文件是个坏主意。听起来这可能是这个问题的根源。你有没有试着删除构建服务器上的项目文件并强制整个项目进入?是的,你是对的。最终的解决方案是,我在web服务器上而不是在构建服务器上更改web.config文件。谢谢您的回复。我忘了提到构建服务器使用新的TFS 2015构建定义,因此我无法尝试您建议的内容。在2015版上,我既没有找到干净的工作区,也没有找到日志详细性设置。