2

私はmsbuildを使用してC#VSソリューションを構築しています。ビルドにユーザーの操作が必要なサードパーティのコントロールでエラーが発生しました。Cruisecontrolの構成をmsbuildではなくdevenvを使用するように変更すると、修正できる可能性があります。

私の質問は、devenvに移動した場合、出力バイナリに違いはありますか?msbuildとdevenvの両方が同じバイナリを生成しますか?同じ最適化で?

4

2 に答える 2

4

ビルドプロセスの実行方法には明らかに違いがありますが、最終的には、同じオプションを持つ同じCSC Cシャープコンパイラ(メモリまたはEXE内)がどちらの方法でも呼び出されます。当然、特に並列ビルドを使用している場合は、まったく同じ順序で実行しないと問題が発生する可能性がありますが、ビルドがDevEnvで確実に完了し、MSBuildで確実に完了する場合は、おそらく同等のものとして受け入れることができます。

于 2011-05-05T06:26:30.193 に答える
2

違いはありませんが、CCNet内のdevenv.exeは独立して実行されており、この方法でもユーザーとの対話を行うことができないため、移動することはお勧めしません。ただし、devenv.exeはより多くのメモリとユーザーリソースを消費しますが、msbuildはより高速で、CCNetとの統合がはるかに優れています。

このコントロールのドキュメントを調べる必要があると思います。おそらく、ユーザーの操作をスキップできるように初期化する必要のあるビルド変数がいくつかありますか?

于 2011-05-05T07:22:13.890 に答える