したがって、シナリオは、TeamCity をセットアップして、SVN リポジトリから ASP.NET ソリューションをチェックアウトし、リリース プロファイルを使用してコンパイルしようとしているということです。SVN からのチェックアウトは正常に機能しますが、asp.net ソリューションをコンパイルすると、問題が発生し始めます。
最初の問題は、コンパイルに関しては、TeamCity がほとんど奇妙に矛盾しているように見えることです。たとえば、ソリューションを初めてチェックアウトしてコンパイルすると、すべてが正常に動作するように見えます。ただし、その後強制的にビルドすると、次のようになります。
エラー MSB6006: "aspnet_compiler.exe" がコード 1 で終了しました。
そして失敗します。
これは、ソリューション内のプロジェクトの 1 つでのみ発生しているように見えることに気付きました。プロジェクトを削除すると、すべて正常に動作するように見えました。上記のエラーはまったく役に立たないため、(一見) 問題の原因となっている部分が見つかるまで、ソリューションの一部を削除することにしました。
最初は問題を特定したと確信していたので、すべてをクリーンアップして、プロセスを最初から再現しようとしました。クリーン バージョンをチェックアウトし、ソリューションから「問題のあるページ」をすぐに削除しました。コンパイルされませんでした。だから首をかしげている。以前にコンパイルされました-なぜ今ではないのですか?
とにかく、この段階までに、これを起動して実行するためにかなりの時間を費やしました。それが不平を言っていたプロジェクトは重要ではなかったので、私はすべてを削除しました. そのため、Team City は再び残りのプロジェクトを喜んで構築していました。私はそれを放っておいて、次のことに進みます。
私は翌日来て、強制ビルドを行います-そして、それはもうコンパイルされていません. 上記と同じエラーが発生していますが、現在は別のプロジェクトで発生しています!!!
だから私はここで何が起こっているのかを理解しようとして髪を引っ張っています。私の質問は次のとおりです。
- Visual Studio で問題なくコンパイルできるものが、Team City でこれほど多くの問題を抱えているのはなぜですか?
- MSBUILD によって表示されるエラーが非常に曖昧であるため、実際には役に立たないのはなぜですか (さらに便利なものを取得する方法はありますか)。
- ある日は Team City でソリューションがうまく構築され、次の日にはうまく構築されないのはなぜですか?