HTTP错误500.30 - ANCM进程内启动失败

175

我正在尝试使用 .NET Core SDK 2.2 中的一项新功能,据说可以将性能提高约 400%。

非常棒,所以我在我的 ABP (ASP.NET Boilerplate) 项目中尝试了一下。

模板 ASP.NET Core MVC 4.0.2.0

我将以下内容添加到我的 web.mv.cproj 文件中:

  <PropertyGroup>
    <TargetFramework>netcoreapp2.2</TargetFramework>
    <AspNetCoreHostingModel>InProcess</AspNetCoreHostingModel>
  </PropertyGroup>

  <ItemGroup>
    <PackageReference Include="Microsoft.AspNetCore.App" />
    <PackageReference Include="Microsoft.AspNetCore.Razor.Design" Version="2.2.0" PrivateAssets="All" />
  </ItemGroup>

很不幸,我认为这个ABP框架的版本不兼容,因为项目根本无法运行,并抛出以下错误:(最终)

HTTP Error 500.30 - ANCM In-Process Start Failure

在web.config中设置stdoutLogEnabled="true"并重试后,我检查了日志 - 但没有任何记录。

有人成功地在asp.net core内部设置中运行当前ABP吗?

我想这可能只是在ABP vNext中可用的东西。


检查是否存在没有POST属性的公共函数。将其改为私有函数。 - Mohan
我似乎无法添加帖子,所以我在这里评论。我的问题始于从Core 2.1迁移到Core 3.1时,与事件日志有关的问题。我没有为记录日志设置事件日志中的区域。 - thatOneGuy
我的问题是我在启动文件中添加了以下代码 app.UseFileServer(new FileServerOptions { FileProvider=new PhysicalFileProvider( Path.Combine(Directory.GetCurrentDirectory(),"pdfs")), RequestPath="/publish" }); 但忘记在那里创建pdfs文件夹。 - rahularyansharma
54个回答

1

这个错误让我很头痛。我尝试了所有的方法。

当我从IIS服务器中删除了发布的站点、删除了应用程序池并重新创建时,神奇的事情发生了。之后,它就可以在第一个请求上正常工作了。

我不知道之前是否破坏了某些配置,但重新设置ISS站点可以解决问题。


1

我在将Azure App Service从2.2升级到3.1时遇到了此问题。原因是App Service上安装了“ASP.NET Core 2.2(x86)运行时”扩展。从Kudu中删除该扩展可以解决此问题!


1
请确保您的 *.deps.js json 文件已正确复制到部署位置。

1

哇,这个问题有很多答案,但我遇到了同样的问题,我的解决方案与这里任何人所读到的都不同,而且非常简单。

我一直在尝试使用正确的环境设置将我的应用程序部署到 Azure 上,所以我一直在调整 launchsettings.json 文件,并将 IIS 配置文件中的 ASPNETCORE_ENVIRONMENT 变量的值从“Development”更改为“Production”。将其改回“Development”就解决了我的问题。

  "profiles": {
    "IIS Express": {
      "commandName": "IISExpress",
      "launchBrowser": true,
      "environmentVariables": {
        "ASPNETCORE_ENVIRONMENT": "Development"
      }
    }
  }

1

通过为AspNetCoreModuleV2运行专用的应用程序池解决了我的问题

描述:

HTTP Error 500.34 - ANCM Mixed Hosting Models Not Supported

我在同一个应用程序池下运行了多个应用程序。其中一些应用程序正在运行

<add name="aspNetCore" path="*" verb="*" modules="AspNetCoreModule" resourceType="Unspecified" />

导致错误的应用程序正在运行AspNetCoreModuleV2

<add name="aspNetCore" path="*" verb="*" modules="AspNetCoreModuleV2" resourceType="Unspecified" />

我创建了一个专门为AspNetCoreModuleV2的新应用程序池,这解决了我的问题。


0

对我来说,问题在于在 VS 2022 中加载的 .NET Core 3.1 的旧项目,不知怎么地添加了 environmentVariables 到 WebConfig 中。

      <environmentVariable name="ASPNETCORE_HOSTINGSTARTUPASSEMBLIES" value="Microsoft.AspNetCore.Watch.BrowserRefresh;Microsoft.WebTools.BrowserLink.Net" />
      <environmentVariable name="DOTNET_STARTUP_HOOKS" value="C:\Program Files\dotnet\SDK\7.0.201\DotnetTools\dotnet-watch\7.0.201-servicing.23116.14\tools\net7.0\any\middleware\Microsoft.AspNetCore.Watch.BrowserRefresh.dll;C:\Program Files\Microsoft Visual Studio\2022\Community\Common7\IDE\Extensions\Microsoft\Web Tools\Browser Link\Microsoft.WebTools.BrowserLink.Net.dll" />
      <environmentVariable name="ASPNETCORE_AUTO_RELOAD_WS_ENDPOINT" value="wss://localhost:44345/ApiDotNetCore/,ws://localhost:64285/ApiDotNetCore/" />
      <environmentVariable name="DOTNET_MODIFIABLE_ASSEMBLIES" value="debug" />
      <environmentVariable name="ASPNETCORE_AUTO_RELOAD_WS_KEY" value="MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEA7s+b3aeCFt3VjmXgwX73r2K4vZ1hWvXkXqEdG8hjDvdNkqJx6fQbOcfZ91tOTh54Q4Bm4rm6Cc4qe3stRZRdJ0+pUpcA7K1gzarHjcfTPx4frIwfIFlQF9FmH4O5SA+OC5QYXAgqwXcHukYXZAA6LMdRDceeQBy8Y0JyTgKePo3ZyjkSByDgTmfIc+jObBuvaDoxjOv+GyD84VeNsw4O1bvo1NQ9tlTObDeQIDAQAB" />
      <environmentVariable name="ASPNETCORE_AUTO_RELOAD_VDIR" value="/" />

去掉这些,只保留

      <environmentVariable name="COMPLUS_ForceENC" value="1" />
      <environmentVariable name="ASPNETCORE_ENVIRONMENT" value="Production" />

就像以前一样 - 它很好用!!

希望这能对某人有所帮助 敬礼


0

我遇到了同样的问题,这是因为我在 Startup.cs 类和 ConfigureServices 方法中这样做:

services.AddScoped<IExamle, Examle>();

但是你必须在第一个中编写你的接口,在第二个中编写你的


0

我曾经遇到过同样的错误,问题出在Microsoft.Extension.Primitives包的版本与.net core版本不兼容。而这个问题是由于我的项目引用了另一个项目的引用所致。

一旦我更改了那个项目中的Microsoft.Extension.Primitives,这个问题就得到了解决。

在Azure事件日志中,检查你收到的错误信息,如果与某个包的引用有关,请尝试上述提到的方法。

由于NuGet包与.net版本紧密耦合,因此必须确保所有引用到该项目的包也与.net版本紧密耦合。


0
在我的情况下,我有一个迁移,在 Azure 的特定环境中运行失败,但在开发环境中运行良好。由于我们已将服务配置为在启动时运行迁移,因此 Web 应用程序的实际启动失败。
我在环境上手动运行了迁移以发现问题,然后调整它以处理该环境中的数据差异。
如果有人知道如何在没有手动直接在数据库上运行的情况下查看迁移错误,那将非常有用。

0

我在Startup.cs中遇到了运行时错误。这是一个初学者的错误 - 我对那个文件进行了一些小修改,但在部署到Azure之前没有在本地运行我的应用程序。应用程序无法成功启动,我得到了500.30错误页面。


我在Startup类中也遇到了问题。我正在使用EF内存数据库,并尝试在main方法中进行种子数据填充。在本地运行时可以正常工作,但在Azure上无法正常工作。 - Yuri Cardoso

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接