用64位Windows进行开发的五点建议

    现在到处都是64位电脑。由于我们要开发VB 应用程序,所以是时候思考对于64位的支持了。

  64位运算曾是一个奇特的想法,但是现在已经成为一种现实。那些能够接受大量RAM并运行64位Windows的客户端和服务器无处不在。视频剪辑,图像,三维建模和数据密集型应用程序只是受益于64位操作系统和硬件的其中几个例子。

  无论应用程序或组件是否需要64位架构提供额外可设定地址的内存,你都希望能够在64位Windows上使用应用程序。以下是我们给出的五点建议以帮助你用64位Windows开发程序。

  1.避免不合格的图像例外

  通常,程序员碰到这种情况:“出现未处理的类型异常 ‘System.BadImageFormatException’”。如果你要深究该异常的细节信息,可能会发现系统提示:“试图加载的程序,格式不正确”。

  之所以会出现这样的问题是因为64位进程试图加载一个32位组件。虽然你在Windows x64上可以运行64位和32位进程,但是64位代码和32位代码不能在相同进程上运行。你的代码要么全部是64位,要么全部是32位。要加载的组件也要符合这一规律。

  VS 2005与.NET 2.0为编译.NET应用程序带来选择,将输入设置为“Any CPU”也具备了可选性。“Any CPU”是默认平台。如果组件以Any CPU作为平台进行编译,那么它将依据进程加载的情况以32位或64位方式运行。使用Any CPU,相同的组件可以在64位Windows上以32位或64位方式运行:它不是真正的指定了64位的CPU或操作系统,而是一个调用进程。

  为了解决不合格图像异常的问题,要改变到Any CPU的所有组件的目标平台。如果出于某种原因你无法做到这一点——或许某组件无法提供来源——那么要将所有组件设置成到达同一平台,可以是x86也可以是x64。如果你拥有.NET 1.0或1.1组件,最好是用.NET 2.0对其重新进行编译。如果你不能编译.NET 1.0或1.1组件,那么编译其他代码,设置为到达x86平台,使之兼容。

  必须意识到VS 2005和2008,如果你使用的是VB开发设置配置文件, 平台的更改有些小麻烦。出现的问题可能源自VB团队有关用户发现VS中的设置比VB6复杂一些的反馈信息。

  好的一方面是你可以对其加以控制。对建设和平台配置最简单的修复是采用“常规开发设置”而不是“VB开发设置”。另外,改变工具/选项菜单中的“项目与解决方案”选项,以确保“显示高级构建配置”选项被选定。接下来,自定义工具栏,这样它就会包含“解决方案配置”和“解决方案平台”下拉式组合框。

  一旦你激活这些功能,就可以从“解决方案配置”或“解决方案平台”组合列表中选取“配置管理器”。这样做会弹出配置管理器窗口,在此窗口中,你可以添加或修改配置。配置可以让你做特殊的架构,如用于测试或只迫使创建某些多项目解决方案中的项目。对于每种配置你还可以支持不同的平台。

  为了从配置管理器的“Active Solution 平台”列表中添加一个x86或x64平台,选择“”,然后选择x86或x64,从Any CPU中复制设置。稍后,你可以使用项目属性编译标签和高级编译对话,为每个项目单独编辑这些设置。如果你对构建配置还不熟悉,可以看一下VS中的有关“建构配置”,“建构平台”和“配置管理器对话框”的帮助文件。

 

用64位Windows进行开发的五点建议

相关文章:

你感兴趣的文章:

标签云: