是否有任何考虑需要采取的行你的.网上的节目64vs x86?
题
我相信建筑类型(x86vs64)是抽象离开你的时候制作。净的程序,但是否有任何其他考虑,可能会导致问题呢?
解决方案
谨防秘密进行win32调用的第三方COM库或第三方.NET库。这就是我们最头疼的地方。
其他提示
从 MSDN doco, 除其它考虑:
在许多情况下,大会将运行相同的32位或64位CLR。有些原因的程序不同的行为时运行的64位CLR包括:
结构,包含成员 变化大小取决于平台, 如任何指的类型。
指针,包括算术 恒的大小。
不正确的平台调用或COM 声明,使用Int32为 处理,而不是因此.
铸因此,Int32
此外,默认文件的位置。
这篇文章有很多好需要注意的问题:http://osnews.com/story/20330/Windows_x64_Watch_List
就个人而言,我的老板有64位Vista计算机,我和节目中的一个32位的模式。我们已经遇到下列问题:
注册为32位应得到隐藏的(排序)成Wow6432Node文件夹。不是所有的应用程序是用来寻找路径,为在注册表中将在这一节点(SQL服务器不会,例如)。
SysWow64在C:\Windows 文件夹中可能会导致问题的Dll不需要它们的地方(我们有这个问题w/3缔约方授权的成分)。
有时你需要的文件是在"C:\Program 文件(86)",而不是"C:\Program 文件"。很烂。
MSDN已经放了一个小小的纸张问题的的移植32-位应用程序至64位执行环境。
http://msdn.microsoft.com/en-us/library/ms973190.aspx
其他两个博客作者以前曾写了关于64位的发展时,他们的工作在CLR的团队
x64将允许您处理更多内存,但是在相同代码的情况下,它将使用比x86更多的内存。
根据我的经验,移植Asp.NET应用程序基本上是完美的。在32位机器和64位上运行,除了有更多可用内存之外没有问题发生。发生这种情况是因为已经提到的许多问题(注册表,线程等)都由Asp.NET管理,您需要正确地修复它们以在Asp.NET环境中运行。
客户端(Windows窗体)发生了同样的情况,但是如果你使用了一些“不安全”的话。用于获取特殊文件夹或注册表访问权限的API可能会发生一些问题,如已经指出的那样。
此致 马西莫