当项目包含公共库时,如何阻止Visual Studio无法构建?

时间:2012-08-15 13:18:41

标签: visual-studio-2008 msbuild dependencies

我有一个视觉工作室解决方案(粗略地说)以下布局:

Common.dll
Proja (project which references Common.dll)
Projb (project which references Common.dll)
Main (Executable which references proja and projb)

问题是有时我编译时会得到

11>Proja : error PRJ0008 : Could not delete file 'c:\Blah blah blah\Main\Release\Ionic.Zip.dll'.

...因为(我认为)proja和projb正在同时建立。因为它们最终都在同一个输出目录中,所以我猜测一个线程会尝试删除Common.dll,而另一个线程正在使用它或类似的东西。

现在,如果只是我编译项目,那很好,因为我总是可以点击重建按钮,在几次失败后,它会出现排序。更困难的问题是我们正在转向使用Jenkins并且一直在失败。

这样做的正确方法是什么?

2 个答案:

答案 0 :(得分:0)

从“项目”菜单中,“项目构建顺序”,“项目依赖项”选项卡

这可能会有所帮助

答案 1 :(得分:0)

进行了一些摆弄,但似乎最终解决问题的一点是将每个项目的中间和输出目录更改为$(ProjectDir)\$(ConfigurationName似乎已经解决了这个问题。我可以随心所欲地使用许多处理器运行MSBuild并且它仍然成功: - )