找不到适用于Linux Azure WebApp的指定框架'Microsoft.AspNetCore.App'版本'3.1.0'


9

问题

将.Net Core 2.2 Linux Web App升级到Azure中的.Net Core 3.1之后,该应用程序因Specified framework 'Microsoft.AspNetCore.App', version '3.1.0' was not found错误而关闭。我什至竭尽全力用.Net Core 3.1创建了一个新的Linux Web App,并且bash命令提示符仍然输出dotnet --list-runtimes2.2.7

细节

网站关闭

应用程序错误

日志流

报告应用程序已关闭,因为找不到.net core 3.1。

日志流

创建了新的.net核心Web应用

中北部的3.1 Linux webapp,同样的问题

创建了新的网络应用

确保它在美国中北部运行

根据https://aspnetcoreon.azurewebsites.net/,应具有完整的.netCore 3.1支持

仍然是.net core 2.2.7 cmd提示2.2.7

opt/dotnet/runtimes 列出了3、3.0和3.0.0,但没有列出3.1` 在此处输入图片说明

环境变量

我的环境变量在Azure列表中FRAMEWORK_VERSION = lts,而不是3.1

出版

这是使用Azure AppService Deploy任务从azure devops ci管道发布的。3.1在这里不可用,所以我选择了LTS

Devops发布管道

更新1

似乎罪魁祸首是Azure Devops Web App / Web Service任务的框架堆栈中缺少3.1。

每当我从CI发布时,Web应用程序框架都会更新为此下拉列表中选择的内容。如果我在Azure Web App上手动将框架更改为3.1,则会显示该站点。但是,在下一次发布时,它又回落了,因为它将框架恢复为ci中的设置。

新问题

如何获取Azure Devops Release管道来发布.net core 3.1任务?

更新2

相关的Azure Devops论坛帖子

截至2020年2月23日,目前正在接受调查

.Net Core 3.1将管道部署到Linux App Service

建议的解决方法

  1. 使用YML进行发布管道,并手动将版本从更改3.03.1,并由答案和该线程指出
  2. framework dependent发行版升级到self contained参考
  3. 降级到.NetCore 3.0

而不是使用LTS,请尝试使用最新版本(不推荐使用,但无论如何请尝试一下,将查看其是否有效)
Manish

我做到了,但没有奏效。但是CI似乎是问题所在。每次使用CI发布时,都会将Web应用程序上的框架更改为CI中选择的内容。如果我在发布CI后转到应用服务,并手动将运行时堆栈更改为3.1,则该站点将启动直到下一次发布。
w00ngy

请勿张贴代码,数据,错误消息等的图像。-将文本复制或键入问题中。怎么问
罗布

Answers:


2

使用您提供的信息,我也遇到了同样的情况,我可以通过在Devops Pipelines Build .yml文件中手动设置值来解决此问题。似乎他们只是缺少“运行时堆栈”下拉列表中的值。如果您手动更新生成过程.yml文件,如下所示:

在此处输入图片说明

这将选择适当的框架版本。希望这可以解决Azure Devops CI Pipeline部署中的问题。


我想知道这是否可以解决它。我会尝试一下。将我的整个发行版转换为yml可能对我来说有点麻烦,所以我还没有尝试过。我会让你知道结果!感谢回应!!
w00ngy

2
似乎可以直接在运行时堆栈框中输入字符串DOTNETCORE | 3.1(并且它可以解决问题)-因此无需将发布管道转换为yaml!
rdavisau

我只是想跟@rdavisau说同样的话-最简单的解决方法是将3.1版本改写到“运行时堆栈”框中,这似乎很有价值。
Apple

请勿张贴代码,数据,错误消息等的图像。-将文本复制或键入问题中。怎么问
罗布

rdavisau-这样可以节省很多时间!大声笑。
w00ngy

1

一个更简单的解决方案是DOTNETCORE|3.1在devops中键入“运行时堆栈”下拉列表。(感谢rdavisau!)

在此处输入图片说明

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.