我可以切换到64位

时间:2010-10-15 11:22:16

标签: c# 64-bit

您好 我的软件适用于32位版本,但如果我切换到64位版本(在VS 2008中),它是否会在运行时出现任何问题?

6 个答案:

答案 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而不会被问到。