我在c#应用程序中使用DllImport
。它在我的Windows 7机器上工作正常,但在Windows 8上它给出了DllNotFoundException。
我们的客户在他的Windows 7机器上遇到了同样的问题。
我甚至通过提供像这样的绝对路径
来破解代码来测试它[DllImport("C:\\Program Files (x86)\\MyApp\\A.dll", CallingConvention = CallingConvention.Cdecl)]
private static extern void foo(string filename, MulticastDelegate callback);
但它仍然在路径C:\ Program Files(x86)\ MyApp \ A.dll ....
中提供DllNotFoundException。但DLL确实存在! ....
答案 0 :(得分:0)
路径有空格,所以我的猜测是使用:
[DllImport("\"C:\\Program Files (x86)\\MyApp\\A.dll\"", ...]