问题描述
我正在将我的开发工作站从 32 位 Vista 迁移到 64 位 Vista.
I'm migrating my development workstation from 32-bit Vista to 64-bit Vista.
生产平台为 32 位 Windows Server 和 SQL Server 2008.
The production platform is 32-bit Windows Server and SQL Server 2008.
有人知道迁移代码库有什么问题吗?
Does anyone know of any issues with migrating the code base?
系统由网页表单、c#代码、存储过程组成.
the system consists of web forms, c# code, stored procedures.
还有 ajax.net、ssrs、ssis 和来自 Dundas 的动态报告/图表.
there is also ajax.net, ssrs, ssis, and dynamic reports/graphs from dundas.
但是,我认为其他用户可能会感谢有关此举措的任何经验教训或反馈.
however, i think other users might appreciate any lessons learned or feedback in general regarding this move.
结果:
截至 2009 年 1 月 24 日
As of Jan 24, 2009
- Checkpoint VPN 不支持 Vista 64(实际上似乎很少有人支持)
- Cropper 实用程序需要特殊的下载和重建才能在 Vista 64 上运行(Cropper 看起来很不错,但它缺少可滚动的窗口捕获)
缺乏对 Vista 64 的支持让我觉得不值得.我希望有人会提到缺乏 VPN 支持,但目前没有支持 64 位客户端的 vpn 供应商......所以请注意 - 截至 2009 年 1 月 28 日 - 使用 Vista 64 对那些人来说不是一个好的选择我们需要 VPN 的人.
The lack of support for Vista 64 made it not worth while for me. I wish someone would have mentioned the lack of VPN support, but there is currently no vpn vendor that supports 64 bit clients.... So be forwarned - as of 1/28/2009 - using Vista 64 is not a good option for those of us who need vpn.
推荐答案
我就是这样做的 - 将我的工作站迁移到 Vista 64,同时仍将代码部署到 32 位 Win2008 服务器.
I have done exactly this - migrated my workstation to Vista 64 whilst still deploying code to 32-bit Win2008 servers.
通常,您最大的问题将是 WOW64 仿真层——这意味着 32 位进程和 64 位进程看到相同资源(注册表项、系统文件夹等)的不同版本.在 .NET 中,有一个枚举 System.Environment.SpecialFolder
,它可以让您安全地抽象访问程序文件、应用程序数据和其他具有潜在风险的系统文件夹.您还需要强制 IIS 在 32 位兼容模式下运行(它不能同时运行 64 位和 32 位 Web 应用程序) - http://support.microsoft.com/kb/894435
Generally, your biggest problem will be the WOW64 emulation layer - which means that 32-bit processes and 64-bit processes see different versions of the same resources (registry keys, system folders, and so on.) In .NET, there's an enumeration System.Environment.SpecialFolder
which will give you safely abstracted access to Program Files, Application Data and other potentially risky system folders. You'll also need to force IIS to run in 32-bit compatibility mode (it can't run 64-bit and 32-bit web apps simultaneously) - instructions at http://support.microsoft.com/kb/894435
不过,没有什么是不可克服的 - 我在 Vista x64 上成功编译了 COM 可见的 .NET 程序集(将编译器设置为针对 x86 CPU),然后将它们与 ASP.NET 和运行 32 位 COM 的旧版 ASP 代码一起部署32 位服务器上的对象,并且一切正常.在 我的博客;我个人遇到的最头痛的问题是 32 位应用程序(包括我最喜欢的文本编辑器)无法再看到 C:WindowsSystem32 ......但即使这样也很容易解决.
There's nothing insurmountable, though - I'm successfully compiling COM-visible .NET assemblies on Vista x64 (setting the compiler to target x86 CPUs), and then deploying them alongside ASP.NET and legacy ASP code running 32-bit COM objects on a 32-bit server, and it's all working very well. There's some notes you might find useful posted on my blog; biggest headache I encountered personally was that 32-bit applications (including my favourite text editor) can't see C:WindowsSystem32 any more... but even that's easy enough to work around.
这篇关于Vista 64 位开发注意事项的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持!