アンマネージ DLL の周りに C# ラッパーを作成しています。アンマネージ DLL には、32 ビット バージョンと 64 ビット バージョンの両方があります。マネージド ラッパーを独自のプロジェクトに保持して、個別のコンポーネントとして構築し、ソリューション間で再利用できるようにします。
ただし、これはいくつかの問題を引き起こします。アンマネージド DLL は 32 ビット バージョンと 64 ビット バージョンの両方で同じ名前を持っているため、正しいアンマネージド DLL を出力 (bin) ディレクトリに移動するのに問題があります。ビルド構成が x86 の場合は 32 ビット バージョンをコピーし、x64 の場合は 64 ビット バージョンをコピーします。プロセッサ アーキテクチャが 1 つだけの場合、これは簡単に実現できます。アンマネージ DLL をプロジェクトにインクルードし、ファイルで copy local を true に設定するだけです。しかし、両方をターゲットにする必要があるため、よりトリッキーです。
このリンクは、同じソリューション/プロジェクトで Visual Studio を使用して 32 ビットと 64 ビットの両方をターゲットにしていますが、マシンに既に存在する DLL を参照しているようです。正しいバージョンの DLL を出力ディレクトリ (bin) にコピーする必要があります。
これを解決するためのヒントやテクニックは大歓迎です。