4

我正在将我的开发工作站从 32 位 Vista 迁移到 64 位 Vista。

生产平台是 32 位 Windows Server 和 SQL Server 2008。

有谁知道迁移代码库的任何问题?

编辑:

该系统由web表单、c#代码、存储过程组成。

还有 ajax.net、ssrs、ssis 和来自 dundas 的动态报告/图表。

但是,我认为其他用户可能会欣赏有关此举动的任何经验教训或一般反馈。

发现:

截至 2009 年 1 月 24 日

  • Checkpoint VPN 不支持 Vista 64(实际上似乎很少支持)
  • Cropper 实用程序需要特殊下载和重建才能在 Vista 64 上工作(Cropper 看起来非常漂亮,但它缺少可滚动的窗口捕获)

缺乏对 Vista 64 的支持让我觉得不值得。我希望有人会提到缺少 VPN 支持,但目前没有支持 64 位客户端的 vpn 供应商......所以请注意 - 截至 2009 年 1 月 28 日 - 使用 Vista 64 对那些人来说不是一个好的选择我们当中需要 vpn 的人。

4

4 回答 4

3

我已经做到了这一点——将我的工作站迁移到 Vista 64,同时仍将代码部署到 32 位 Win2008 服务器。

通常,您最大的问题是 WOW64 仿真层——这意味着 32 位进程和 64 位进程看到相同资源(注册表项、系统文件夹等)的不同版本。在 .NET 中,有一个枚举System.Environment.SpecialFolder这将使您能够安全地抽象访问程序文件、应用程序数据和其他具有潜在风险的系统文件夹。您还需要强制 IIS 在 32 位兼容模式下运行(它不能同时运行 64 位和 32 位 Web 应用程序)- http://support.microsoft.com/kb/894435上的说明

不过,没有什么是不可克服的——我在 Vista x64 上成功编译了 COM 可见的 .NET 程序集(将编译器设置为以 x86 CPU 为目标),然后将它们与 ASP.NET 和运行 32 位 COM 对象的旧 ASP 代码一起部署在32位服务器,一切运行良好。在我的博客上发布了一些您可能会发现有用的注释;我个人遇到的最大头痛是 32 位应用程序(包括我最喜欢的文本编辑器)再也看不到 C:\Windows\System32 了……但即使这样也很容易解决。

于 2009-01-23T16:50:18.533 回答
1

不要对系统文件夹使用硬编码名称。

(无论如何都是个坏主意)

于 2009-01-23T16:41:57.830 回答
0

我遇到了 Vista 64 的一个问题:

程序文件

程序文件可能存储在Program Files x86Program Files中,如果您的任何代码对程序的存储位置做出假设,您可能必须围绕此进行编码 - 即使您做了正确的事情并使用了环境变量,因为有 2位置现在有 2 个不同的环境变量。您需要知道您的应用程序将安装在其中的哪一个中,如果您以任何 CPU 为目标,那么如果您以 x86 为目标,这将是不同的。

于 2009-01-23T16:40:28.473 回答
0

在 64 位 w2k3 服务器 (php) 上向 IIS 添加第 3 方 32 位 ISAPI 处理程序时遇到了很多麻烦,我不得不让 IIS 在 32 位兼容模式下运行。如果这一切都得到管理,我可以认为没有严重的问题。

于 2009-01-23T16:48:48.193 回答