.NET Core2.1升级.NET7后Azure部署InProcess模式报500.32错误
问题:.NET 7 Web应用部署至Azure时InProcess模式触发ANCM加载DLL错误
将.NET Core 2.1 Web应用升级至.NET 7后,该应用在Visual Studio 2022中运行正常,但通过Azure DevOps流水线部署到Azure时出现以下错误:
HTTP Error 500.32 - ANCM Failed to Load dll
常见解决方案:
应用发布的位数可能与w3wp.exe/iisexpress.exe运行的位数不同。
排查步骤:
检查系统事件日志中的错误信息
启用应用进程的stdout消息日志记录
附加调试器到应用进程进行检查
更多信息请访问:https://{this site name}.scm.azurewebsites.net/detectors 以及相关官方链接
在项目文件中添加以下配置后,应用可在Azure正常运行:
<AspNetCoreHostingModel>OutOfProcess</AspNetCoreHostingModel>
由于InProcess模式性能优于OutOfProcess模式,需修复InProcess模式下的部署问题。项目文件完整代码如下:
<Project Sdk="Microsoft.NET.Sdk.Web"> <PropertyGroup> <TargetFramework>net7.0</TargetFramework> <PublishWithAspNetCoreTargetManifest>false</PublishWithAspNetCoreTargetManifest> <AssemblyName>ABC.Web</AssemblyName> <OutputType>Exe</OutputType> <PackageId>ABC.Web</PackageId> <UserSecretsId>2d8de5d0-adb3-41a5-90a7-299d114b1dda</UserSecretsId> <Configurations>Debug;Release;Staging</Configurations> <PlatformTarget>AnyCPU</PlatformTarget> </PropertyGroup> <ItemGroup> <Compile Remove="node_modules;jspm_packages" /> <Content Remove="web.config" /> <None Remove="Properties\PublishProfiles\staging.pubxml" /> <None Include="App.config" /> <None Include="web.config" /> <None Update="wwwroot\**\*;**.cshtml;Views\**\*"> <CopyToPublishDirectory>PreserveNewest</CopyToPublishDirectory> </None> </ItemGroup> <ItemGroup> <ProjectReference Include="..\ABC.ApplicationServices.Core\ABC.ApplicationServices.Core.csproj" /> <ProjectReference Include="..\ABC.Common.Core\ABC.Common.Core.csproj" /> <ProjectReference Include="..\ABC.Data.Core\ABC.Data.Core.csproj" /> <ProjectReference Include="..\ABC.Domain.Core\ABC.Domain.Core.csproj" /> </ItemGroup> <ItemGroup> <PackageReference Include="AutoMapper" Version="12.0.1" /> <PackageReference Include="Elmah.Io.AspNetCore" Version="5.0.56" /> <PackageReference Include="EPPlus.Core" Version="1.5.4" /> <PackageReference Include="EvoHtmlToPdf_NetCore_Client" Version="7.5.0" /> <PackageReference Include="Hangfire.AspNetCore" Version="1.8.5" /> <PackageReference Include="Hangfire.Core" Version="1.8.5" /> <PackageReference Include="Hangfire.SqlServer" Version="1.8.5" /> <PackageReference Include="IdentityServer4.AccessTokenValidation" Version="2.3.0" /> <PackageReference Include="Microsoft.AspNetCore.Diagnostics.EntityFrameworkCore" Version="7.0.11" /> <PackageReference Include="Microsoft.AspNetCore.Mvc.NewtonsoftJson" Version="7.0.11" /> <PackageReference Include="Microsoft.AspNetCore.Mvc.Versioning" Version="2.3.0" /> <PackageReference Include="Microsoft.Extensions.Logging.Abstractions" Version="7.0.1" /> <PackageReference Include="Microsoft.Extensions.Logging.Debug" Version="7.0.0" /> <PackageReference Include="Microsoft.VisualStudio.Web.BrowserLink" Version="2.2.0" /> <PackageReference Include="PDF.Core" Version="2020.0.0" /> <PackageReference Include="RestSharp" Version="106.3.1" /> <PackageReference Include="SixLabors.ImageSharp.Web" Version="1.0.0-beta0009" /> <PackageReference Include="Microsoft.VisualStudio.Web.CodeGeneration.Design" Version="7.0.10" /> <PackageReference Include="Swashbuckle.AspNetCore" Version="4.0.1" /> </ItemGroup> <ItemGroup> <Content Update="Views\EmailTemplates\ReleasedEmail.cshtml"> <Pack>$(IncludeRazorContentInPack)</Pack> </Content> <Content Update="Views\PDFTemplates\ReportTemplates\SubmissionSummary.cshtml"> <Pack>$(IncludeRazorContentInPack)</Pack> </Content> <Content Update="Views\PDFTemplates\ReportTemplates\STSubmissionSummary.cshtml"> <Pack>$(IncludeRazorContentInPack)</Pack> </Content> <Content Update="Views\PDFTemplates\ScheduleRunSheet.cshtml"> <Pack>$(IncludeRazorContentInPack)</Pack> </Content> <Content Update="Views\Shared\ArchivedAModal.cshtml"> <Pack>$(IncludeRazorContentInPack)</Pack> </Content> <Content Update="Views\Shared\Archived.cshtml"> <Pack>$(IncludeRazorContentInPack)</Pack> </Content> <Content Update="Views\Shared\ExpiredLink.cshtml"> <Pack>$(IncludeRazorContentInPack)</Pack> </Content> <Content Update="Views\EmailTemplates\RequestCancellation.cshtml"> <CopyToPublishDirectory>PreserveNewest</CopyToPublishDirectory> </Content> <Content Update="Views\EmailTemplates\RequestChanged.cshtml"> <CopyToPublishDirectory>PreserveNewest</CopyToPublishDirectory> </Content> </ItemGroup> <ItemGroup> <Folder Include="wwwroot\" /> <Folder Include="Views\Home\" /> </ItemGroup> <ItemGroup> <_ContentIncludedByDefault Remove="PUBLISH\app.config" /> <_ContentIncludedByDefault Remove="PUBLISH\ABC.Web.dll.config" /> <_ContentIncludedByDefault Remove="PUBLISH\web.config" /> <_ContentIncludedByDefault Remove="PUBLISH\appsettings.json" /> <_ContentIncludedByDefault Remove="PUBLISH\appsettings.Production.json" /> <_ContentIncludedByDefault Remove="PUBLISH\appsettings.Staging.json" /> <_ContentIncludedByDefault Remove="PUBLISH\ABC.Web.deps.json" /> <_ContentIncludedByDefault Remove="PUBLISH\ABC.Web.runtimeconfig.json" /> </ItemGroup> </Project>
内容的提问来源于stack exchange,提问作者Angelo
相关产品推荐
相关产品推荐

