我正在开发从安装包中提取 cab 文件的 ac# 应用程序。
为此,我正在使用LoadLibrary。这是 pinvoke C# 签名。
[DllImport("kernel32", SetLastError = true, CharSet = CharSet.Ansi)]
internal static extern IntPtr LoadLibrary([MarshalAs(UnmanagedType.LPStr)]string lpFileName);
上面的代码在将项目编译到 x86 时工作正常,但是如果我将它编译到 anycpu 则会失败,最后一个 win32 错误是:
“%1 不是有效的 Win32 应用程序”
我尝试使用 IntPtr 插入字符串,也尝试使用不同的字符集,但没有任何效果。