我有一个运行在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应用
运行时堆栈 :. NET Core 2.2
启动命令:dotnet MyAppName.dll
此任务成功部署了应用程序,我通过FTP确认了部署的内容。
启动并导航至该应用程序将显示以下页面:
在本地,我的应用在Visual Studio 2017的调试和发布模式下成功运行。如果我在本地托管dotnet publish -c Release
命令的内容,它也将起作用。
我在Azure门户中使用“监视”>“诊断”日志启用了日志,并在文件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,其中提到从02/12/2019起Linux上的2.2正在“推出”。也许这意味着我的应用程序服务所在的位置(美国东部)尚未部署正确的映像。假设正在发生这种情况,则向Azure门户和Azure DevOps UI添加新的无法正常工作的2.2选项会带来糟糕的用户体验。
答案 0 :(得分:1)
我今天再次进行了测试,并且能够部署.NET Core 2.2 Linux应用程序。根据对此Github issue的最新编辑判断,这很可能于2018年2月26日开始生效。