2016-11-01 3 views

答えて

0

は確かに追加/同じプロジェクトでこのようなアセンブリを使用することが可能です。

ロード実行時にアーキテクチャが一致しないアセンブリですが、コードチェックアーキテクチャでは対応するアセンブリのクラスのみを使用することが比較的簡単です。

0

管理対象アセンブリのみを使用する場合は、任意のCPUプラットフォームターゲットを指定します。

プロジェクトから[DllImport]を介してネイティブライブラリのみを使用する場合、プロジェクトに異なる名前の両方を含めるだけです(例: native.x86.dllnative.x64.dll、および同様のコードで適切な選択:

[DllImport("native.x86.dll")] 
public static extern int ExtrernalFunc86(); 

[DllImport("native.x64.dll")] 
public static extern int ExtrernalFunc64(); 
// .... 
if (IntPtr.Size == 8) return ExternalFunc64(); 
else return ExternalFunc86(); 

あなたは(同じAPIを持つ)特定のCPUを対象に管理ライブラリを使用する場合は、(それらのいずれかを参照することが、出力フォルダの両方にコピーすることができますビルドスクリプトを使用して)適切なバージョンをAppDomain.CurrentDomain.AssemblyResolveイベント(IntPtr.Sizeを使用してアーキテクチャをチェック)

関連する問題