【问题标题】:Vista 64-bit Development CaveatsVista 64 位开发注意事项
【发布时间】:2009-01-23 16:29:17
【问题描述】:

我正在将我的开发工作站从 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 的人。

【问题讨论】:

  • 你必须告诉我们一些关于你的代码库的事情。从您使用的语言和库开始。
  • 该死 - 我希望有人会发布有关 VPN 问题的帖子,这样我就不必花一整天时间重建我的机器了!!!

标签: windows-vista 64-bit development-environment vista64


【解决方案1】:

我确实做到了——将我的工作站迁移到 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 为目标),然后将它们与运行 32 位 COM 的 ASP.NET 和旧版 ASP 代码一起部署32 位服务器上的对象,并且一切运行良好。在my blog 上发布了一些您可能会发现有用的注释;我个人遇到的最头疼的问题是 32 位应用程序(包括我最喜欢的文本编辑器)再也看不到 C:\Windows\System32……但即使这样也很容易解决。

【讨论】:

    【解决方案2】:

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

    (反正是个坏主意)

    【讨论】:

      【解决方案3】:

      我在 Vista 64 上遇到了一个问题:

      程序文件

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

      【讨论】:

        【解决方案4】:

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

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 2011-01-25
          • 1970-01-01
          • 2010-12-24
          • 2010-10-18
          • 1970-01-01
          相关资源
          最近更新 更多