2012-08-15 82 views
1

我有一个Visual Studio解决方案蒙山(粗略地讲)以下布局:当项目包含公共库时,如何阻止Visual Studio无法构建?

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

希望它有帮助 - > http://msdn.microsoft.com/en-us/library/hk8k8k4h(v=VS.80) .aspx查看社区编辑 – Steve 2012-08-15 13:26:23

+0

您应该将其作为答案发布,以便我可以接受它。真正帮助的是将中间目录和输出目录更改为每个项目的$(ProjectDir)\ $(ConfigurationName)。 – 2012-08-15 16:03:37

+0

感谢Jon,但是我只是一个有关错误信息的详细分析的链接。你自动回答你的问题。 – Steve 2012-08-15 21:52:28

回答

0

采取了一些摆弄周围,但位,似乎问题出在到底排序已经改变每个项目的中间和输出目录到$(ProjectDir)\$(ConfigurationName似乎已经解决了这个问题。我可以用许多处理器运行MSBuild,因为我喜欢,它仍然成功:-)

0

从项目菜单,项目构建顺序,项目依赖标签

这可能有助于

相关问题