1

私のソリューションは、ネイティブ C++ DLL プロジェクトと C# クラス ライブラリで構成されています。C# クラス ライブラリは、ネイティブ DLL のラッパーです。

クラス ライブラリは AnyCPU で、ネイティブには Win32 および x64 アーキテクチャが含まれています。基本的に、ネイティブ DLL の 32 ビット バージョンと 64 ビット バージョンの両方を最初にビルドし、次に C# ライブラリをビルドする必要があります。DLL はリソースとして C# ライブラリに組み込まれているため、これは厳密な依存関係です。

  1. Visual Studio から作成できる場合、どのようにすればよいですか?
  2. 不可能な場合、msbuild を使用してそれを行うにはどうすればよいですか?
4

1 に答える 1

0

これがあなたがすべきことです:

  1. ネイティブ DLL 用に 2 つの異なるビルド構成を定義します。1 つは Win32 用で、もう 1 つは Win64 用です。
  2. これら 2 つのビルドが、生成された DLL を 2 つの別個のディレクトリ、つまりbuild32build64に配置するとします。
  3. C# ライブラリにも 2 つの異なるビルド構成を定義します。1 つは 32 ビット (構成 A) 用で、もう 1 つは 64 ビット (構成 B) 用です。構成 A でbuild32の dll への参照を追加し、構成B で build64 からのネイティブ DLL への参照を追加します
  4. 次に、ビルダーにネイティブ dll のすべての構成を最初にコンパイルさせ、次に C# ライブラリをコンパイルさせます。
  5. そうすれば、すべてがうまくいくでしょう。!!!
于 2012-08-31T17:19:57.550 に答える