ほとんどの場合、C#コードである大規模なVS 2010ソリューションがありますが、C#プロジェクトが依存するいくつかのネイティブDLL(ユニットテストDLLを含む)があります。私たちはライブラリの32ビット版と64ビット版の両方をサポートしようとしています。そこで、ネイティブDLLを32ビットと64ビットとしてビルドします。問題は、多くのC#プロジェクトに、必要なネイティブDLLをプロジェクトのTargetDirにコピーするポストビルドイベントがあることです。ネイティブDLL(32ビットと64ビット)の2つの異なるバージョンが用意できたので、ネイティブDLLをコピーする正しいdirを指定できるようにする必要があります。C#プロジェクトのビルドイベントからVisual Studioソリューションレベルのプラットフォームにアクセスするにはどうすればよいですか?
copy $(SolutionDir)\NativeDll\$(Platform)\$(Configuration) $(TargetDir)
しかし、$(プラットフォーム)プロジェクトのプラットフォームではなくソリューション・レベルのプラットフォームであるため、それが動作しません:私はもともと私は単にそのようなパスに$(プラットフォーム)を使用することができると思いました。この場合、$(プラットフォーム)は「任意のCPU」です。 C#プロジェクトのポストビルドイベントマクロを見ると、ビルドされているソリューションレベルのプラットフォームにアクセスする方法はないようです。私の目標を達成する良い方法はありますか?
あなたはXCOPY/S/D/I/Yの代わりにコピーを使用する場合、あなたがより速く(変更されていないファイルをスキップします)を構築得られます。 –