4

サードパーティの DLL を使用するアプリケーションがあります。Visual Studio for Mac で、Windows と同じ方法でアクセスするアプリケーションを作成する方法はありますか?

4

2 に答える 2

6

場合によります:

  1. マネージド .NET DLL: Windows 上の VS と同じ方法でインポートして使用できます
  2. ネイティブ DLL: 直接使用できません。あなたの場合はOSXであるターゲットシステム用にビルドする必要があります。

C/C++ コードがある場合、外部 (Windows) プラットフォーム固有のコードがなければ、OSX (GCC など) 用にビルドできるはずです。その後、コンパイルされた *.so / *.dylib ファイルを直接使用できます。ただし、DllMap 構成ファイルを使用して別のファイルを使用するように .NET ランタイム (OSX の場合は Mono) に指示する必要があります ( http://www.mono-project.com/docs/advanced/pinvoke/dllmap/を参照)。例えば)。

リンクしたソースは Unix 用のように見えるので、OSX でビルドできる可能性はかなり高いです (Makefile があり、結果のバイナリは Unix では libswe.so になります)。パラメータを GCCに渡して-dynamiclib、OSX 固有の libswe.dylib を取得することもできます ( osx での .so と .dylib の違いは何ですか?は dylib に関する良い答えのようです) 。

OSX 用の DLL のバイナリがある場合は、次のような .NET アプリケーション用の構成ファイルが必要です。

<configuration>
    <dllmap os="osx" dll="libswe.dll" target="libswe.dylib"/>
<configuration/>

現在のOSがOSXlibswe.dylibの場合ではなく、シンボルをインポートするように.NETランタイムに指示します。libswe.dll

于 2016-12-12T22:51:04.430 に答える