質問

MSBUILDを使用してC#VSソリューションを構築しています。建物のユーザーインタラクションが必要なサードパーティのコントロールでエラーが発生しました。 MSBuildではなくDevenvを使用するようにCruiseControl構成を変更した場合、修正できるかもしれません。

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

役に立ちましたか?

解決

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

他のヒント

違いはありませんが、CCNET内のDevenv.exeは独立して実行されており、この方法でユーザーインタラクションも実行できないため、移動することをお勧めしません。しかし、Devenv.exeはより多くのメモリとユーザーリソースを食べていますが、MSBuildはより速く、CCNETとはるかに優れています。

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

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top