升级到 DotNet Core 2.2 后 Azure 应用服务不运行
Posted
技术标签:
【中文标题】升级到 DotNet Core 2.2 后 Azure 应用服务不运行【英文标题】:Azure App Service doesn't run after upgrading to DotNet Core 2.2 【发布时间】:2019-05-06 08:08:30 【问题描述】:DotNet Core 2.2 发布后,我将解决方案升级到新版本,但当我将其部署到 Azure 应用服务时,它不再运行。它只是给出以下错误:
The page cannot be displayed because an internal server error has occurred.
我的.csproj
文件如下所示,以备您需要时使用:
<PropertyGroup>
<TargetFramework>netcoreapp2.2</TargetFramework>
<DockerDefaultTargetOS>Linux</DockerDefaultTargetOS>
</PropertyGroup>
<ItemGroup>
<PackageReference Include="Microsoft.AspNetCore.App" />
<PackageReference Include="Microsoft.AspNetCore.Authentication.JwtBearer" Version="2.2.0" />
<PackageReference Include="Microsoft.AspNetCore.Razor.Design" Version="2.2.0" PrivateAssets="All" />
<PackageReference Include="Microsoft.VisualStudio.Azure.Containers.Tools.Targets" Version="1.0.2105168" />
<PackageReference Include="Microsoft.VisualStudio.Web.CodeGeneration.Design" Version="2.2.0" />
</ItemGroup>
<ItemGroup>
<ProjectReference Include="..\DAL\DAL.csproj" />
<ProjectReference Include="..\Model\Models.csproj" />
</ItemGroup>
<ItemGroup>
<WCFMetadata Include="Connected Services" />
</ItemGroup>
<ItemGroup>
<Folder Include="wwwroot\userPictures\" />
</ItemGroup>
</Project>
【问题讨论】:
在 Azure 门户上,转到应用服务 > 控制台。输入dotnet --list-runtimes
看看是否有2.2。如果是,cd ..\..\LogFiles
和 type eventlog.xml
- 最后几行应该向您展示它真正遇到的问题。
GitHub 上也注册了问题,解决方法:github.com/dotnet/core/issues/2125#issuecomment-446103571
【参考方案1】:
似乎 asp.net core 2.2 更新尚未完全推广到 Azure 应用服务的所有区域。见:https://blogs.msdn.microsoft.com/webdev/2018/12/04/asp-net-core-2-2-available-today/
他们说它将在未来几周内推出,并在 12 月底完成。
似乎有某种解决方法,虽然我不知道具体情况: https://github.com/dotnet/core/blob/master/release-notes/2.2/2.2-known-issues.md
【讨论】:
在实际支持它们所依赖的 SDK 版本之前,要求 Microsoft 将 NuGet 包保留在预发布版本中会不会太过分?【参考方案2】:我注意到 nuget 通过将 AspNetCoreHosting
更改为 AspNetCoreHostingV2
更新了 web.config
。我恢复到AspNetCoreHosting
,该应用程序直接重新上线。根据@Dan 的回答链接,看来这将在年底前修复。
为了记录,我使用的是 net472
而不是 netcoreapp2.2
【讨论】:
以上是关于升级到 DotNet Core 2.2 后 Azure 应用服务不运行的主要内容,如果未能解决你的问题,请参考以下文章
HTTP 错误 502.5 - 升级到 ASP.NET Core 2.2 后 ANCM 进程外启动失败
获取 ArgumentException:升级到 .NET Core 2.2 后使用 ActionResult<JsonResult>> 作为返回类型的类型参数无效
从 dotnet Core 2.2.6 更改为 3.0.0 后出现 EF Linq 错误
使用dotnet-dump 查找 .net core 3.0 占用CPU 100%的原因
Visual Studio 2017 强制站点通过 https 加载,即使禁用了 ssl (Dotnet core 2.2)