在VS2008中编译64位程序以及遇到的问题

安装64位操作系统不是编译64位程序的必要条件,关键是要装64位程序的编译器。虽然标题写着如何在VS2008中编译,但其实2005也是类似。

1. 选择“Build” – “Configuration Manager”菜单,打开配置管理器。点击新建解决方案平台。

new solution platform
 
2. 选择“x64”平台,点击确定按钮。

select the new platform

3. 这时候配置管理器中的平台已经改成刚才选择的x64了,这时候编译出来的就是64位程序了。可以在工具栏的平台下拉框中快速切换目标平台。

select target platform

4. 如果在选择平台的下拉列表里找不到x64,可能是没有安装x64编译支持。在VS安装程序里再装上就可以了。

安装x64编译支持

以上引自:http://www.fm021.com/2009/04/16/如何在vs2008中编译64位程序/

 

遇到的问题

  错误信息:

      错误  视为错误的警告: 程序集生成 -- 引用的程序集“System.Data.dll”针对其他处理器

      错误  视为错误的警告: 程序集生成 -- 引用的程序集“mscorlib.dll”针对其他处理器

  解决办法:

      选定项目,选择“属性”—“生成”,将“将警告视为错误”设为“无”。


  错误信息:

      错误 121 “sgen.exe”已退出,代码为 1。

  解决办法:

      选定web项目,右键选择“属性”—“生成”,将“生成序列化程序集”设成“关闭”。



  以上方法虽然最终得到了x64平台的程序,但是在64位服务器上运行一直有错误。

  最终的解决办法是使用anycpu选项来编译(其实默认就是anycpu,即将程序集编译为在任意平台上运行。)。

  参考:C# 编译器选项

posted @ 2010-03-22 12:28  志在必得Shaun  阅读(4918)  评论(0编辑  收藏  举报