C# コードに C++ DLL をインポートしたいと考えています。
このライブラリを直接指す絶対パスを使用するとうまく機能しますが、相対パスを使用して機能させることはできません。
動作するコードは次のとおりです。
using System.Runtime.InteropServices;
[...]
[DllImport(@"C:\full\path\to\LibraryName.dll",
EntryPoint = "?export@symbol",
CallingConvention = CallingConvention.Cdecl)]
public static extern IntPtr functionName(string param);
使用して参照を追加する Visual Studio プロジェクトがないことに注意してください。対応する.aspxページを介してアプリ内のどこかで呼び出される新しい.aspx.csページを追加することにより、既存の(そして動作中の).NETアプリケーションに機能を追加しています。
アプリケーションは現在、Windows Server 2008 R2 でホストされている IIS 7.5 に展開されています。
これはこれらの問題の重複である可能性がありますが、私にはうまくいきませんでした。:アンマネージド DLL への相対パス 実行時に [DllImport] パスを指定するにはどうすればよいですか?
上記の投稿と比較して何か新しいアイデアはありますか?