【发布时间】:2009-05-02 00:38:31
【问题描述】:
我是第一次配置 CruiseControl.net 服务器。我的团队已经使用 NAnt 构建脚本,所以我们只是将服务器指向脚本并让 NAnt 完成所有工作。
如您所见,这很简单:
<project name="ChannelIP">
<tasks>
<nant>
<executable>C:\Program Files\nant-0.86-beta1\bin\nant.exe</executable>
<baseDirectory>D:\mypath</baseDirectory>
<buildFile>D:\mypath\myNAnt.build</buildFile>
<targetList>
<target>build</target>
</targetList>
</nant>
</tasks>
</project>
问题是我在CC下运行时,出现如下错误:
函数调用失败。 表达: ${framework::get-framework-directory('net-3.5')}/msbuild.exe
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^Microsoft .NET Framework 3.5 (net-3.5) 未安装,或不正确 配置。未设置对象引用 到一个对象的实例。
事实上,我确实使用 ${framework::get-framework-directory('net-3.5')} 变量来获取 msbuild.exe 的路径;但是,此代码以前从未失败过。我什至可以使用运行 CC 的用户帐户 RDP 进入服务器并直接运行 NAnt 构建文件,它工作得很好。
为什么这个原本很好的文件在 CC 运行时失败了。
注意 -CC 运行在我通常从中运行构建脚本的同一台机器上
【问题讨论】: