在VS2008中编译64位程序以及遇到的问题
安装64位操作系统不是编译64位程序的必要条件,关键是要装64位程序的编译器。虽然标题写着如何在VS2008中编译,但其实2005也是类似。
1. 选择“Build” – “Configuration Manager”菜单,打开配置管理器。点击新建解决方案平台。
3. 这时候配置管理器中的平台已经改成刚才选择的x64了,这时候编译出来的就是64位程序了。可以在工具栏的平台下拉框中快速切换目标平台。
4. 如果在选择平台的下拉列表里找不到x64,可能是没有安装x64编译支持。在VS安装程序里再装上就可以了。
以上引自:http://www.fm021.com/2009/04/16/如何在vs2008中编译64位程序/
遇到的问题:
错误信息:
错误 1 视为错误的警告: 程序集生成 -- 引用的程序集“System.Data.dll”针对其他处理器
错误 2 视为错误的警告: 程序集生成 -- 引用的程序集“mscorlib.dll”针对其他处理器
解决办法:
选定项目,选择“属性”—“生成”,将“将警告视为错误”设为“无”。
错误信息:
错误 121 “sgen.exe”已退出,代码为 1。
解决办法:
选定web项目,右键选择“属性”—“生成”,将“生成序列化程序集”设成“关闭”。
以上方法虽然最终得到了x64平台的程序,但是在64位服务器上运行一直有错误。
最终的解决办法是使用anycpu选项来编译(其实默认就是anycpu,即将程序集编译为在任意平台上运行。)。
参考:C# 编译器选项