我DllImport在我的解决方案中使用.
我的问题是我有两个版本的相同的DLL一个为32位而另一个为64位.
它们都使用相同的名称和相同的签名来公开相同的功能.我的问题是我必须使用两个静态方法来暴露这些,然后在运行时使用IntPtr大小来确定要调用的正确方法.
private static class Ccf_32
{
[DllImport(myDllName32)]
public static extern int func1();
}
private static class Ccf_64
{
[DllImport(myDllName64)]
public static extern int func1();
}
Run Code Online (Sandbox Code Playgroud)
我必须这样做,因为myDllName32并且myDllName64必须保持不变,我还没有找到在运行时设置它的方法.
有没有人有一个优雅的解决方案,所以我可以摆脱代码重复和不断的IntPtr大小检查.
如果我可以设置文件名,我只需要检查一次,我就可以摆脱大量重复的代码.