CruiseControl.NET和Visual Studio异步CTP

问题描述:

我已经签署了一个为我们的项目设置CruiseControl.NET的任务。一切都很顺利,直到我跺脚的事实,我们正在使用异步CTP。我的问题如下:CruiseControl.NET和Visual Studio异步CTP

  • 除了通过Visual Studio调用异步CTP构建机器有没有任何选项? (不使用VS手动执行预处理。)
  • 如何强制CruiseControl.NET使用Async CTP构建项目?

我不熟悉Cruise Control .NET,但我很熟悉Async CTP的工作原理。

CTP包含一个支持CTP的编译器。你应该能够在你的生成机器上安装CTP,这将允许它编译Async .NET代码。

如果CTP安装程序需要Visual Studio,则应该能够安装VS,然后是CTP,然后卸载VS,同时仍然在您的计算机上留下支持CTP的编译器。

这与我期望有人使用CTP结合ASP.NET的按需编译场景相似。

+1

一个非常类似的解决方案为我工作。我从拥有VS和CTP的机器中取出编译器,并用它来替换构建机器上的编译器。 – Santhos

我使用另一个构建服务器工具TeamCity,但由于它都归结为MSBuild,我认为它应该可以工作。

对于与Async CTP的兼容性,我有同样的怀疑,因为它向.NET本身添加了关键字,但在尝试之后,似乎只需在项目中引用AsyncCtpLibrary.dll,确保DLL到达你的构建服务器。我建议将它包含在你的版本控制系统中,例如。 Subversion,因此引用是相对于您的项目根目录的,并且会自动位于您的构建服务器上的正确位置。

这样你就不必“欺骗”你的电脑来安装完整的软件包。

+1

不知何故,我没有工作。正如我在下面的评论中所说的,我已经用构建机器替换解决了它。 – Santhos

+0

桑托斯 - 你是什么意思'替换MSBuild'?您复制整个文件夹C:\ Windows \ Microsoft .NET \ Framework \ v4.0.30319? Msbuild只是一个.exe文件 - 你是什么意思你把它复制到远程服务器? x86/x64服​​务器?你究竟做了什么? – Jasper

对我来说,诀窍就是从我的电脑中取得msbuild,我已经安装了异步ctp,并在构建服务器上替换构建计算机上的msbuild。