1

この質問は大幅に変更されているので、聞いてください。

ソリューションの各プロジェクトが IDE からビルドされた後に実行したい msbuild ターゲットがあります。これは、ソリューションの msbuild レプリカを作成することで簡単に実行できますが、ビジュアル スタジオ内では使用できません。ビルド後のプロセスを指定するようにプロジェクトのプロパティを調べることができますが、特に 2 つ以上のプロジェクトがある場合、これは非常に面倒です。

IDE 内のソリューションですべてのプロジェクトのターゲットを実行するより良い方法はありますか? VS2010 がより簡単なオプションを提供しないとは信じられません。

ところで、VS 2012 ベータ版は、ブレイン デッド ソリューション ファイルではなく、完全な MsBuild ファイルをサポートしていますか?

4

2 に答える 2

0

あなたの質問から得たのは、ビルド プロセスを拡張してから、ビルド中にソリューション ファイルが通常行うことを行う「シャドウ」msbuild ファイルを作成したということです。ご存じのように、ソリューション ファイルはかなり残念なビジュアル スタジオのみの概念です。この問題を回避することはほとんど不可能です。

この問題に対する慣用的なアプローチは、ソリューション ファイルをそのままにして、個々の .csproj ファイルを変更して、プロセスに従って各プロジェクトを完了する必要があるカスタム ビルド手順を含めることです。NuGet は使用時にこれを行い、NotifyPropertyWeaver も同様です。(NuGet は、'$(SolutionDir)' プロパティを導入することでソリューションの問題を回避します)

余談ですが、「インストーラーのビルド」がチームの個々の開発者にとってどれほど価値があるかはわかりません。ビルドに含めることは、摩擦を取り除くのではなく、摩擦を追加するようです。

これがカスタム ビルド サーバー用である場合、2 つの同期を維持することを気にしないのであれば、ソリューション ファイルを使用する必要はまったくありません。そのアプローチを心からお勧めします。

于 2012-07-14T20:49:41.153 に答える
0

Visual Studio IDE を使用して msbuild をデバッグできます。文書化されていない有効にするレジストリ スイッチがあります。この完全な msdn 記事を参照してください: http://blogs.msdn.com/b/visualstudio/archive/2010/07/06/debugging-msbuild-script-with-visual-studio.aspx

于 2012-07-17T09:39:03.933 に答える