您好 我的软件适用于32位版本,但如果我切换到64位版本(在VS 2008中),它是否会在运行时出现任何问题?
答案 0 :(得分:11)
如果它是纯.Net你可以设置为AnyCPU,那么如果操作系统是64位,它将在64位模式下工作。
当您使用外部非托管库或带有Interop的COM对象时,可能会出现问题。
答案 1 :(得分:3)
64位Windows可以运行32位程序,因此即使您的某些用户使用的是64位Windows,也不会 做任何事情。
如果您想要定位64位Windows但仍然拥有32位Windows用户,那么您需要创建两个单独版本的程序,每个版本一个。
32位Windows无法运行64位程序。
答案 2 :(得分:0)
这取决于您在.NET平台中使用的功能类型。据我所知,主要问题似乎是在互操作和编组之间,所以如果你不使用本机dll,你将是安全的。
查看您的第三方组件文档,了解他们在迁移时是否报告任何类型的问题。
答案 3 :(得分:0)
为32位版本设计的大多数程序都适用于64位版本。 “Most”适用于在64版本中使用32位特定系统特定内容的人。
例如,尝试访问Regsvr32.exe时,您可能会遇到如下错误:
“Filename.dll不是可执行文件 文件,没有注册助手 已注册此文件类型。“
当然有哪些解决方法(... google it)。但除此之外你还在奔跑。
答案 4 :(得分:0)
即使您只使用.Net代码,在64位系统上运行时某些操作的行为也会有所不同。我在过去使用带有Windows 64bit的打印对话框时遇到了问题。然而,出现的问题很小。
答案 5 :(得分:0)
如果代码没有任何“不安全”的标签,并且只有.NET没有任何额外的互操作,那么它应该很容易被编译为x64而不会被问到。