我想在我的 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.cs 页面来向现有(和正在工作的).NET 应用程序添加一个功能,该页面通过相应的 .aspx 页面在应用程序内的某处调用。
该应用程序当前部署在 Windows Server 2008 R2 上托管的 IIS 7.5 上。
这可能是这些问题的重复,但它对我不起作用。:非托管 DLL 的相对路径 如何在运行时指定 [DllImport] 路径?
与上面提到的帖子相比,有什么新想法吗?