我正在尝试在 interserver.com共享托管平台上托管ASP.NET 2.2网站。他们正在使用Plesk Onyx版本17.8.11作为托管平台控制面板。
我已经验证了主机的路由和设置正确,但是仍然遇到运行时错误:
HTTP错误500.0-ANCM进程内处理程序加载失败
我已将问题报告给客户服务,他们已向我发送了几篇文章供您尝试,但未找到解决方案。由于错误指出无法找到关键的aspnet核心库,因此他们说他们“安装了.NET core 2.1.10和2.2.2托管捆绑包”,但我仍然遇到相同的错误。
主机上的web.config(自动生成)为:
<?xml version="1.0" encoding="utf-8"?>
<configuration>
<location path="." inheritInChildApplications="false">
<system.webServer>
<handlers>
<add name="aspNetCore" path="*" verb="*" modules="AspNetCoreModuleV2" resourceType="Unspecified" />
</handlers>
<aspNetCore processPath="dotnet" arguments=".\BridgeSite.dll" stdoutLogEnabled="false" stdoutLogFile=".\logs\stdout" hostingModel="InProcess" />
</system.webServer>
</location>
</configuration>
<!--ProjectGuid: 7bcb9c33-cd6b-4078-9742-869d5dd7bxxx -->
有任何建议stackoverflow系列吗?
答案 0 :(得分:1)
由于这是一个共享的托管平台,因此我无权访问服务器配置。据我所知,ASP.NET Core 2.2.4运行时安装出现了问题,并且AspNetCoreModuleV2.dll丢失/损坏/放错了位置?
在花费很多时间后,我发现了几种解决方法:
或
<AspNetCoreHostingModel>OutOfProcess</AspNetCoreHostingModel>
。这行得通,但却是一个大问题,并且该应用程序将不会具有InProcess(默认)的所有性能提升经过测试,我发现您可以使用其中一种,而不必同时使用两者。
我希望随着托管服务继续更新其运行时,该问题将随着时间的推移而解决,但目前希望这些解决方法也能对您有所帮助。
答案 1 :(得分:0)
此错误为documented,以及解决方案:
500.0进程内处理程序加载失败
工作进程失败。该应用程序无法启动。
ASP.NET Core模块无法找到.NET Core CLR,也无法找到进程内请求处理程序( aspnetcorev2_inprocess.dll )。检查:
- 该应用程序定位到Microsoft.AspNetCore.Server.IIS NuGet软件包或Microsoft.AspNetCore.App metapackage。
- 应用程序所针对的ASP.NET Core共享框架的版本已安装在目标计算机上。
最可能的情况是,您根本没有安装.NET Core运行时,或者至少没有安装正确的版本以匹配项目的目标。
答案 2 :(得分:0)
对于Asp.Net Core 2.2 MVC。 1.在项目的根目录下创建web.config。 2.跳过此配置:
<?xml version="1.0" encoding="utf-8"?>
<configuration>
<location path="." inheritInChildApplications="false">
<system.webServer>
<handlers>
<add name="aspNetCore" path="*" verb="*" modules="AspNetCoreModule" resourceType="Unspecified" />
</handlers>
<aspNetCore processPath="dotnet"
arguments=".\MyApp.dll"
stdoutLogEnabled="false"
stdoutLogFile=".\logs\stdout"
hostingModel="InProcess" />
</system.webServer>
</location>
</configuration>
答案 3 :(得分:0)
我在Interserver.com上遇到了同样的问题。
支持将我的应用程序池切换到64位,从而解决了该问题。根据我对其他Plesk托管提供商的了解,默认情况下,用于创建虚拟机的脚本默认情况下以32位创建应用程序池。我猜测AspNetCoreModuleV2需要64位,但这只是一个猜测。很高兴我的网站正在运行中。