4

この問題は非常に厄介で、私は数時間前からこの問題に頭を悩ませてきました。私がやろうとしているのは、CCNet の構成プリプロセッサを使用して、CCNet でタスクを呼び出す XML 要素を作成することです。私は根本的に何かを誤解していると思います。

私が今持っているものは次のようになります:

 <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 に移行する計画もありますが、これはビルド プロセスの長い道のりの最初のステップです。

4

1 に答える 1

2

パーツから簡単な構成ファイルを作成しましたが、問題なく動作します。

<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ます。その中の構成ファイルを開いて、エラーが表示されるかどうかを確認してください。

その場合は、構成のすべての部分をコメントアウトまたは削除して、問題を再現しながらできるだけ小さくしてみてください。それでも解決できない場合は、その構成を投稿して、他の人が確認できるようにします。

于 2012-10-26T19:41:26.550 に答える