![](/img/trans.png)
[英]Performance difference between AnyCPU vs x64 platform on a 64 bit machine
[英]ASP.NET MVC; compiling to x64 versus anyCPU for 64bit, difference?
我正在运行Visual Studio 2017,ASP.NET 4.7和MVC 5,以针对IIS Express和Azure App Services开发。
目前是32位。 我想将其转换为64位
我看到2个选项:
通过“活动”选项卡在解决方案的配置中明确设置x64
。
通过“活动”选项卡在解决方案的配置中明确设置AnyCPU
。
我已将IIS Express设置为64位,并将Azure App Service实例设置为64位。
我感觉2)是最佳实践,因为将提高Web服务器目标位数。
如果有所不同,可能会使用一些第三方32位dll。
谢谢。
如果您的项目仅使用托管DLL或Nuget包,则任何CPU都可以。 AnyCPU意味着在运行时它将根据您的CPU位数决定64位还是32位。
现在,如果您明确希望告诉您的程序应以32位模式还是64位模式运行,则必须选择该特定配置文件。
例如:我使用的是非托管DLL,它是专门为64bit编写的,因此AnyCPU将产生问题,因为它不是在编译时决定的。 同样适用于32bit。 在这里,我们明确尝试告诉它必须在特定的位配置文件中运行。
在IIS级别,此配置也可用,例如您可以将32位dll设置为在应用程序池级别运行。
评论后更新。
注意:1.在现实生活中,我也遇到过这样的问题,其中azure应用程序依赖于32位,而我们的层是64位。 2.如果继续前进,然后选择VM,则将获得所有选项。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.