0

我有一个包含两个项目,ProjectWeb和ProjectLibrary的VS.NET解决方案。 PW取决于PL,因此我有一个VS.NET 项目参考PW中的PL。在构建服务器上构建的VS.NET解决方案不同

这对我的开发箱来说工作得很好,但是当它全部到达构建服务器时,我有两个不同的构建项目,一个用于PL,一个用于PW。我想建立PL并在某处复制二进制文件。然后,我想只使用以前的PL版本中的二进制文件来构建PW。

但是,自从PW VS.NET项目引用的项目不存在时,我只在构建服务器上构建PW时会这么做吗?

我怎样才能设置此

对于具体细节,我使用CC.NET和恶性的,但我有使用Hudson和直MS建立

回答

1

一个方法我已经在过去使用其他项目是对PL项目postBuild事件,拷贝你的DLL LocationX(东西这样)

XCOPY $(TargetFileName) LocationX /R /Y 

(在/ R/Y需要迫使其通常需要,如果该文件的ovewrite该DLL是存储在源代码管理中,只读...否则不是真的需要)。

然后在PW中不使用项目引用,而是引用LocationX中的dll。然后所有的东西都可以在你的机器和构建箱上运行。

你仍然可以在你的解决方案中包含PL,所以调试应该仍然可以正常工作。

请注意,使用PostBuild事件是一种“旧”方法,您最好创建一个执行xcopy工作的AfterBuild MsBuild目标。尽管如此。

+0

感谢您的提示,我会尝试一下。 – slolife 2010-04-22 22:47:58

+0

这给了我另一个尝试的角度:就像你说的,不要在PW中使用项目引用。而是,浏览到dll位置并使用文件位置包含引用。这可能会起作用。 – slolife 2010-04-22 22:48:58