1

私のソリューションには 3 つのプロジェクトがあります。LibX という C++ プロジェクト、P/Invoke を使用して LibX.dll をラップする LibX.NET という C# プロジェクト、および TestX という C# WPF アプリです。

LibX.NET は LibX に依存しているとマークされており、TestX は、ビルド後の手順の一部として LibX.dll をその出力ディレクトリにコピーします (TestX が LibX.dll を確実に使用できるようにするためのより良い方法が思いつかないため)。

VS2010 では、LibX でファイルを変更してビルドすると、LibX.NET と TestX の両方がビルドされるため、ビルド後のイベントが発生し、すべてが最新の状態になります。

ただし、VS2012 では、LibX でファイルを変更すると、VS は LibX.NET と TestX をビルドせず、「最新」であると主張します。これは VS2012 のバグ/リグレッションですか、それとも意図的なものですか? TestX にビルド後のステップを実行させるにはどうすればよいですか?

4

1 に答える 1

0

LibX の変更によって LibX.Net のビルドがトリガーされるようにする場合は、これら 2 つのプロジェクト間のプロジェクトの依存関係を逆にする必要があります。

LibX.Net は LibX に依存しているとマークしたので、LiX.Net をコンパイルして両方のプロジェクトをビルドする必要があります。これを行うと、変更が行われたかどうかに基づいて、両方のプロジェクトがコンパイル/スキップされます。これは VS2010 でも同じ動作です。

于 2013-01-26T07:42:03.190 に答える