将ASP.NET编译为64位

19 asp.net

我的开发机器是Win XP Pro 32位,生产机器是带有IIS 7的Windows Server 2008(64位).在我的开发机器上,我想将ASP.NET(使用aspnet编译器)编译为64位字节代码.

谁能告诉我怎么做?请不要建议在64位环境下运行32位应用程序的任何方法.

我希望在32位机器上编译64位应用程序,这样当它运行时它将充分利用64位O/S而无需任何仿真.

Tig*_*ine 25

将目标平台保留在AnyCpu上,当在64位操作系统上执行时,.NET将自动在64位上运行

澄清:

(这开始是一个评论,但我认为这个问题可能也很有趣)

实际上你永远不会编译成一个特殊的架构.你总是编译成IL.

这就像Java字节码.32位和64位的字节码相同.

执行代码的机器上的虚拟机(.NET Framework)然后在运行时将IL编译为实际的机器代码(通过即时编译).所以,无论你在哪里编译,你总会在IL中找到那些无知的东西.

.NET中的设置只是IL中的一条指令,它告诉JIT(即时编译器)专门使用32位/ 64位.通过翻转程序集中的那一位,您仍然可以在AnyCpu或x64中执行它而无需重新编译.

此设置仅在您调用不是位无知的本机代码时(与COM组件交互或执行p/invoke调用时)使用和需要


Bry*_*end 13

现在,Visual Studio 2013中有一个选项可以指示IIS Express(通常用于调试)以64位模式运行.

它在 Tools -> Options -> Projects and Solutions -> Web Projects -> Use the 64 bit version of IIS Express…

  • 这个答案今天解决了我的问题.继续投票,并意识到这是两年前我自己的回答,FTW! (3认同)

kem*_*002 6

假设您没有专门选择以32位模式编译,.net应用程序将针对目标计算机环境重新定位自己.这可以在项目构建选项下找到.