编程杂谈——Platform target x64

Posted kenwoo

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了编程杂谈——Platform target x64相关的知识,希望对你有一定的参考价值。

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

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

技术图片

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

技术图片

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

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

技术图片

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

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

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

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

技术图片

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

以上是关于编程杂谈——Platform target x64的主要内容,如果未能解决你的问题,请参考以下文章

使用 .Net 提供额外的 platform.dependent .dll

msbuild DevTools.Target /p:Configuration=Debug /p:Platform="Win32"

无法在 x64 中构建 gdal

多核编程杂谈

VS 的编译选项 build下的 platform target -- Any CPU和x86有什么影响?

C++学习(四六四)Microsoft.Cpp.Platform.targets(67,5): error MSB8020: 无法找到 <unsupported> 的生成工具