如何阻止MSBuild复制任务自动重试

pm1*_*100 12 visual-studio-2012

如果输出二进制文件在Visual Studio 2010(或更早版本)中被锁定,则构建将失败并说它无法复制,因为文件正在使用中.

现在它进入了一个重试循环,这真的很烦人,因为:

  • 它不能被打断
  • 这对情况没有帮助

这只意味着我必须等待更长时间才能使构建失败.

有谁知道如何关闭它?

小智 21

以下几行应该有所帮助:

<PropertyGroup>
  <CopyRetryCount>0</CopyRetryCount>
</PropertyGroup>
Run Code Online (Sandbox Code Playgroud)

您应该在开始标记之后将它们添加到项目文件(*.*proj例如,csproj)中<Project>.

要在全局范围内解决问题,应将这些行放在c:\Windows\Microsoft.NET\Framework\v4.0.30319\Microsoft.Common.targets开始<Project>标记之后.更多信息:http://msdn.microsoft.com/en-us/library/3e54c37h.aspx

不确定它是否会在将来引起一些构建问题 - 我现在发现了这个问题.

更新: 对于VS 2013旧位置不再起作用,因此您可以将这些行放入c:\Program Files (x86)\MSBuild\12.0\Microsoft.Common.props.