C# Team Foundation服务器构建失败。“无法复制”;xxx.dll“;至;yyy.dll“;
尝试在生成服务器上生成时,我遇到以下2个错误: path\to.NETFramework\Microsoft.Common.targets(3390):无法将“path\to\xxx.dll”复制到“path\to\yyy.dll”。已超过重试计数10。失败了 及 path\to.NETFramework\Microsoft.Common.targets(3390):无法将文件“path\to\xxx.dll”复制到“path\to\yyy.dll”。 进程无法访问文件“path\to\yyy.dll”,因为另一个进程正在使用该文件 在本地,很容易修复—关闭Visual Studio并以管理员身份运行它可以解决问题。但是,在使用构建服务器(Microsoft服务器)时,我似乎无法解决该问题C# Team Foundation服务器构建失败。“无法复制”;xxx.dll“;至;yyy.dll“;,c#,tfs,tfsbuild,C#,Tfs,Tfsbuild,尝试在生成服务器上生成时,我遇到以下2个错误: path\to.NETFramework\Microsoft.Common.targets(3390):无法将“path\to\xxx.dll”复制到“path\to\yyy.dll”。已超过重试计数10。失败了 及 path\to.NETFramework\Microsoft.Common.targets(3390):无法将文件“path\to\xxx.dll”复制到“path\to\yyy.dll”。 进程无法访问文件“path\to\yyy.
/m:1
参数运行代理编辑:我已设法在本地重现错误。如果我在configuration manager中更改配置并清理->重建项目,它会给出相同的错误。但是,正如我之前所说,重新启动VS解决了这个错误,我只是不知道如何在服务器上执行此操作。如果您使用的是XAML build,您可以尝试通过在生成服务器中设置disable the parallel build来解决此问题。对于TFS2010和TFS2012,将
Process
选项卡上的MSBuild Multi-Proc
设置为False,对于TFS2013,TFS2015在MSBuild参数中键入/m:1
。有关MSBuild中/m参数的详细信息,请参阅本文档:
切换到单进程构建增加了构建时间,但如果这是一个可接受的损失。您可以将此用作解决方法。如果您使用的是XAML build,您可以尝试通过在生成服务器中设置“禁用并行生成”来解决此问题。对于TFS2010和TFS2012,请将
进程
选项卡上的MSBuild Multi-Proc
设置为False,对于TFS2013,TFS2015在MSBuild参数中键入/m:1
。有关MSBuild中/m参数的详细信息,请参阅本文档:
切换到单进程构建增加了构建时间,但如果这是一个可接受的损失。您可以将此作为解决方法。最终找到了解决方案。事实证明,这与TFS本身无关。我无法在本地复制错误,因为出于某种原因,它正在编译,而不应该编译 我的问题是“断开的引用”。 我正在使用一些Biztalk程序,其中5个程序依赖于其他项目(自定义Biztalk管道组件),但没有对项目本身的引用。我想这可能是打开组件工具箱造成的,尽管我不确定
因此,我手动删除并再次添加了对上述项目的引用(添加->引用),现在一切都像一个符咒 终于找到了解决办法。事实证明,这与TFS本身无关。我无法在本地复制错误,因为出于某种原因,它正在编译,而不应该编译 我的问题是“断开的引用”。 我正在使用一些Biztalk程序,其中5个程序依赖于其他项目(自定义Biztalk管道组件),但没有对项目本身的引用。我想这可能是打开组件工具箱造成的,尽管我不确定
因此,我手动删除并再次添加了对上述项目的引用(添加->引用),现在一切都像一个符咒 是否确定dll文件未被任何进程使用?你可以使用一些工具来验证这一点。是的,我很确定。我是唯一一个登录到机器上的人,没有任何东西可以阻止dll。我认为问题在于,我的解决方案中的几个项目使用该特定dll,当并行构建多个项目时,一个项目使用该dll,而另一个项目尝试使用该dll。您可以手动删除它吗?是的,已经这样做了。忘了把它添加到我已经做过的事情列表中。你正在使用哪种类型的TFS构建?Vnext或Xaml生成?是否确定dll文件未被任何进程使用?你可以使用一些工具来验证这一点。是的,我很确定。我是唯一一个登录到机器上的人,没有任何东西可以阻止dll。我认为问题在于,我的解决方案中的几个项目使用该特定dll,当并行构建多个项目时,一个项目使用该dll,而另一个项目尝试使用该dll。您可以手动删除它吗?是的,已经这样做了。忘了把它添加到我已经做过的事情列表中。你正在使用哪种类型的TFS构建?Vnext还是Xaml构建?我使用的是TFS2015。尝试了
/m:1
参数,但无效。知道其他可能的解决方案吗?我已将代理设置为在x86中运行MSBuild。必须这样做,因为我只在x86中运行过一些项目。但是,还有其他一些可以在x64中运行。我想问题可能就出在这里。我使用的是TFS2015。尝试了/m:1
参数,但无效。知道其他可能的解决方案吗?我已将代理设置为在x86中运行MSBuild。必须这样做,因为我只在x86中运行过一些项目。但是,还有其他一些可以在x64中运行。我想问题可能就出在这里。