我想在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上。
这可能是这些问题的重复,但它对我不起作用。 :Relative path to unmanaged DLL How can I specify a [DllImport] path at runtime?
与上述帖子相比有什么新想法吗?