これは私の DLL インポート ステートメントです。
[DllImport("KaracellLib.dll", EntryPoint = "karacell_bridge@8", CallingConvention = CallingConvention.StdCall, CharSet = CharSet.Ansi, ExactSpelling = true)]
public static extern int karacell_bridge(int argumentCount, string[] argContent);
ネイティブ C コード (DLL に変換される) の実際の関数定義:
int __stdcall karacell_bridge(int argumentCount, char ** argContent )
C# コードで DLL を複数回呼び出そうとすると、前述のエラーが発生します。
エラーを解決するために次のことを試しました
- [ツール] -> [デバッグ] -> [全般] に移動して、モジュール ロード (マネージドのみ) での JIT 最適化を抑制します。
- C# dLL インポート定義に ref を追加しました。
public static extern int karacell_bridge(int argumentCount, ref string[] argContent);
どんな助けでも大歓迎です!ありがとう!