gpt4 book ai didi

.net - 巡航控制.NET : using cb:define with multiple parameters

转载 作者:行者123 更新时间:2023-12-01 04:01:50 25 4
gpt4 key购买 nike

这个问题很烦人,我已经反对它几个小时了。我想要做的是使用 CCNet 中的配置预处理器来创建一个 XML 元素,该元素调用 CCNet 中的任务。我想我从根本上误解了一些东西。

我现在的情况是这样的:

 <cruisecontrol xmlns:cb="urn:ccnet.config.builder">

<cb:define name="myBuild">
<devenv>
<solutionfile>"$(projPath)"</solutionfile>
<configuration>"$(releaseMode)"</configuration>
<buildtype>Rebuild</buildtype>
<executable>C:\Program Files (x86)\Microsoft Visual Studio 9.0\Common7\IDE\devenv.exe</executable>
<buildTimeoutSeconds>2400</buildTimeoutSeconds>
<version>VS2008</version>
</devenv>
</cb:define>

然后要使用它,我在一个项目中执行以下操作:
<cb:myBuild projPath="C:\sample.sln" releaseMode="Release" />

我得到的错误是

[CCNET 服务器:错误] 内部错误:对未知符号“releasemode”的引用

然后是大量的 ThoughtWorks dll 堆栈跟踪。

我的主要困惑在于为什么定义中的“$(projPath)”工作正常,但“$(releaseMode)”却没有。事实上,如果我删除项目中对“releaseMode”的所有引用,CCNet 就会接受脚本甚至构建它们。但是,它不起作用,因为并非我们所有的解决方案都有“发布”模式,有些是特别命名的(出于某种原因,不要问我)。

任何关于正在发生的事情的帮助,或者更重要的是,如何解决这个问题将不胜感激。

我正在运行 1.8.2 版。此外,我们确实计划将实际构建脚本移至 NANT,但这是我们构建过程漫长道路上的第一步。

最佳答案

我从您的部分构建了一个简单的配置文件,但它可以完美运行:

<cb:define name="myBuild">
<devenv>
<solutionfile>"$(projPath)"</solutionfile>
<configuration>"$(releaseMode)"</configuration>
<buildtype>Rebuild</buildtype>
<executable>C:\Program Files (x86)\Microsoft Visual Studio 9.0\Common7\IDE\devenv.exe</executable>
<buildTimeoutSeconds>2400</buildTimeoutSeconds>
<version>VS2008</version>
</devenv>
</cb:define>

<project name="a">
<tasks>
<cb:myBuild projPath="C:\sample.sln" releaseMode="Release" />
</tasks>
</project>

不知何故,我怀疑与服务器上的任何其他配置设置相关的错误。

为了简化故障排除使用 CCValidator.exe如果你还没有这样做。这样,您的潜在问题来源就会少很多。您可以在 CruiseControl.NET\server 中找到它文件夹。尝试打开其中的配置文件,看看它是否显示任何错误。

如果是这样,请尝试注释掉或删除配置的所有部分,使其尽可能小,同时仍然重现问题。如果还是不能解决,把那个配置贴出来让大家看看。

关于.net - 巡航控制.NET : using cb:define with multiple parameters,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13038559/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com