我在Linux上的Azure App Service中运行了一个应用程序,并决定将应用程序从.NET Core 2.1升级到.NET Core 2.2。它以.NET Core 2.2
dotnet new angular
模板为蓝本。
我的应用程序使用Azure Web App for ASP.NET
模板及其默认值以及Azure App Service Deploy
任务的以下更新在Azure DevOps中构建:
应用服务类型:适用于Linux的Azure Web App
运行时堆栈:.NET Core 2.2
启动命令:dotnet MyAppName.dll
此任务成功部署应用程序,并通过FTP确认部署的内容。
启动并导航到应用程序会显示此页面:
在本地,我的应用程序在Visual Studio 2017中的调试和发布模式下成功运行。如果我在本地托管dotnet publish -c Release
命令的内容,它也会起作用。
我使用Azure门户中的Monitoring> Diagnostics日志启用了日志,并在文件2019_02_14_RD00155D99205C_default_docker.log
中找到此消息:
2019-02-14T19:52:29.377625884Z _____
2019-02-14T19:52:29.377672685Z / _ \ __________ _________ ____
2019-02-14T19:52:29.377679386Z / /_\ \___ / | \_ __ \_/ __ \
2019-02-14T19:52:29.377684186Z / | \/ /| | /| | \/\ ___/
2019-02-14T19:52:29.377688886Z \____|__ /_____ \____/ |__| \___ >
2019-02-14T19:52:29.377693986Z \/ \/ \/
2019-02-14T19:52:29.377698686Z A P P S E R V I C E O N L I N U X
2019-02-14T19:52:29.377703186Z
2019-02-14T19:52:29.377707486Z Documentation: http://aka.ms/webapp-linux
2019-02-14T19:52:29.377711986Z Dotnet quickstart: https://aka.ms/dotnet-qs
2019-02-14T19:52:29.377716587Z
2019-02-14T19:52:29.956004709Z Starting OpenBSD Secure Shell server: sshd.
2019-02-14T19:52:30.234443169Z The specified framework 'Microsoft.AspNetCore.App', version '2.2.0' was not found.
2019-02-14T19:52:30.234492570Z - Check application dependencies and target a framework version installed at:
2019-02-14T19:52:30.234498570Z /usr/share/dotnet/shared/Microsoft.AspNetCore.App
2019-02-14T19:52:30.234615073Z - Alternatively, install the framework version '2.2.0'.
我还没有找到任何其他线索。这是否意味着将运行时堆栈设置为.NET Core 2.2时,Azure提供的默认映像不正确?
更新发现this link,提到Linux上的2.2正在“推出”截至02/12/2019。也许这意味着我的App Service所在的位置尚未部署正确的图像(美国东部)。假设这是正在发生的事情,向Azure门户和Azure DevOps UI添加新的非工作2.2选项是一种糟糕的用户体验。
我今天再次测试,并能够部署.NET Core 2.2 Linux应用程序。从这个Github issue的最新编辑判断,最有可能这开始于2018年2月26日开始工作。