現在、かなり大きなソリューションを VS2008 から VS2012 に移行しています。これまで、このソリューションはいくつかのビルド ステップでコマンド ライン ビルドに依存しており、プロジェクト システムを適切に使用してこれらのビルド ステップを実行したいと考えています。私はさまざまなオプションを検討してきましたが、カスタム ビルド ステップは、それを必要とするほとんどの VC++ プロジェクトで意味があると判断しました。ソリューションは、C++、C#、および VB の組み合わせです。
これらのタスクには、Primary Inter-op Assemblies の構築と、入力と出力が同じであるサードパーティ ユーティリティを使用した出力ファイルの処理が含まれます。
歯が生える問題がいくつかありましたが、ほとんどの場合、このアプローチで作業しています。残りの問題は、これらの追加出力を依存プロジェクトにデプロイすることです。
このことを考慮; a.dll を入力すると、改訂された a.dll と a_util.dll の 2 つの出力が生成されるサードパーティ コンポーネントがあります。a.dll に依存するプロジェクトがある場合、そのプロジェクトも a_util.dll をその出力にプルする必要があります。VS2012 のカスタム ビルド ステップの [出力をコンテンツとして扱う] フィールドがこの点で役立つことを期待していましたが、UI のワンライナーで行っています。このオプションに関する包括的なドキュメントは見つかりません。 . 実際、MSDN のドキュメントでは、このオプションが存在しないふりをしているだけです。
誰かがこのオプションまたは代替アプローチを説明するのを助けることができれば、それは素晴らしいことです.
編集
現時点では、BeforeBuild ターゲットを各依存プロジェクトに追加して、追加の出力をその依存プロジェクトにコピーしています。このアプローチの問題 (動作中) は、メンテナンスの 1 つです。残念ながら、このタイプの依存関係が失われると、潜在的なランタイム エラーが発生します。