创建单个winform设置以在32位和64位计算机

时间:2016-02-11 05:06:21

标签: c# dll operating-system

我想创建单窗口应用程序设置,既可以安装在32位也可以安装在64位机器上。我只有几个可以根据DLL版本使用的dll,即A.dll(32位),A.dll(64位)。

如果在32位机器上安装软件,则应使用所有32位dll,否则应使用其他。

现在我可以通过两次构建项目来创建两个不同的设置。但是我希望只有一个设置可以自动处理。

我已经通过this链接,这似乎是我正在寻找的,但它基于他们销售的产品而不是默认的Windows安装程序创建向导。

我发现了一个重复的问题here没有回答。

1 个答案:

答案 0 :(得分:1)

添加dll导入代码

[DllImport("MyDll32.dll", EntryPoint = "Func1", CallingConvention = CallingConvention.Cdecl)]
private static extern int Func1_32(int var1, int var2);

[DllImport("MyDll64.dll", EntryPoint = "Func1", CallingConvention = CallingConvention.Cdecl)]
private static extern int Func1_64(int var1, int var2);

public static int Func1(int var1, int var2) {
    return IntPtr.Size == 8 /* 64bit */ ? Func1_64(var1, var2) : Func1_32(var1, var2);
}

解决方案资源管理器 - >双击属性(应打开一个新选项卡) - >构建标签

设置配置--->选项(任何CPU,x32bit,x64bit)---> “任何CPU”确保您的应用程序可以在32位和64位计算机上运行。

enter image description here