ソリューションファイルパス(.slnファイル)とビルドモード(デバッグ、リリース)を渡してソリューションをコンパイルしたいと思います。
devenv.exeやmsbuild.exeのようなコマンドラインプロセスを呼び出したくありません。代わりに、APIを使用して、コンパイルエラーが発生したかどうかを確認したいと思います。
出来ますか?
その方法を知っていると思われる場合は、サンプルを提供してください。
ソリューションファイルパス(.slnファイル)とビルドモード(デバッグ、リリース)を渡してソリューションをコンパイルしたいと思います。
devenv.exeやmsbuild.exeのようなコマンドラインプロセスを呼び出したくありません。代わりに、APIを使用して、コンパイルエラーが発生したかどうかを確認したいと思います。
出来ますか?
その方法を知っていると思われる場合は、サンプルを提供してください。
コンパイルを実行するには、ある時点でプロセスを起動する必要があるため、コンパイルを開始するプロセスを生成することもできます。APIで苦労するよりもはるかに簡単になります。
アンドリューはあなたがそれについてどうやって行くかについていくつかの良いアドバイスをします、しかし私はそれでもそれは間違いだと思います。
itowlsonが指摘したように、BuildEngineAPIを使用することもできます。
...MSDNから..。
// Build a project file
bool success = engine.BuildProjectFile(@"c:\temp\validate.proj");
バッチファイルなどのスクリプトからMSBuildを使用できます。そして、ErrorLevelで0以外のものをチェックするだけです...またはAPIを楽しむことができます。
C:\ Windows \ Microsoft.NET \ Framework \ v2.0.50727 \ MSBuild.exe
.. msbuild.exeから/?..。
Microsoft(R)ビルドエンジンバージョン
2.0.50727.4927 [Microsoft .NET Framework、バージョン2.0.50727.4927]
Copyright(C)Microsoft Corporation
2005.無断複写・転載を禁じます。構文:MSBuild.exe
[オプション][プロジェクトファイル]..。
例:
MSBuild MyApp.sln /t:Rebuild /p:Configuration=Release MSBuild MyApp.csproj /t:Clean /p:Configuration=Debug
また、MSBuildAPIを使用することをお勧めします。それはかなりうまくいくようです。ただし、.NET4およびVisualStudio2010では大幅に変更されています。