在Visual Studio中选择.NET Framework框架并选用任意模板创建一个普通的Web应用工程,毫无疑问,此时应该是能够正常运行此工程的。

但是将工程属性->编译->Platform target一项中从Any CPU改成x64。

编程杂谈——Platform target x64-LMLPHP

再运行工程后,页面会出现服务器错误的提示。

编程杂谈——Platform target x64-LMLPHP

这是因为默认情况下Visual Studio调试时所用的IIS Express是32位的,只能运行同是32位的程序。

修正的方法是在工具->选项->工程与解决方案->Web工程中,将使用64位IIS Expres选项勾上。

编程杂谈——Platform target x64-LMLPHP

当布署在IIS时也可能出现类似的错误。

在Release模式下,将Platform target选择为x86。发布工程并在IIS下创建网站。浏览此网站时,会出现之前一样的错误。

这是因为IIS默认运行的是64位的程序。

要想修正错误,需要在应用程序池中将网站对应的程序池的高级设置里把启用32位应用程序一项调整为True。

编程杂谈——Platform target x64-LMLPHP

有趣的是,如果你创建Web工程时选择的框架是.NET Core,那么无论设置为x64还是x86,既使没有选择64位IIS Expres,工程也都能正常运行。

08-21 14:06