大部分がC#コードである大規模なVS 2010ソリューションがありますが、さまざまなC#プロジェクトが依存するネイティブDLLがいくつかあります(単体テストDLLを含む)。現在、ライブラリの32ビットバージョンと64ビットバージョンの両方をサポートしようとしています。そのため、ネイティブDLLを32ビットおよび64ビットとしてビルドしています。問題は、多くのC#プロジェクトに、必要なネイティブDLLをプロジェクトのTargetDirにコピーするビルド後のイベントがあることです。ネイティブDLLの2つの異なるバージョン(32ビットと64ビット)があるので、ネイティブDLLをコピーする正しいディレクトリを指定できる必要があります。私は当初、次のようにパスで$(Platform)を使用できると思っていました。
copy $(SolutionDir)\NativeDll\$(Platform)\$(Configuration) $(TargetDir)
ただし、$(Platform)はプロジェクトのプラットフォームであり、ソリューションレベルのプラットフォームではないため、これは機能しません。この場合、$(プラットフォーム)は「任意のCPU」です。C#プロジェクトのビルド後のイベントマクロを見ると、ビルド中のソリューションレベルのプラットフォームにアクセスする方法がないようです。私の目標を達成するためのより良い方法はありますか?