azure - 未找到 Linux Azure WebApp 的指定框架 'Microsoft.AspNetCore.App' 、版本 '3.1.0'

标签 azure .net-core azure-web-app-service .net-core-3.1

问题

在 Azure 中将 .Net Core 2.2 Linux Web 应用升级到 .Net Core 3.1 后,应用程序因找不到指定框架“Microsoft.AspNetCore.App”,版本“3.1.0”而关闭 错误。我什至用 .Net Core 3.1 创建了一个新的 Linux Web 应用程序,并且在 bash 命令提示符后仍然将 dotnet --list-runtimes 输出为 2.2.7.

详细信息

网站已关闭

Application Error

日志流

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

Logstream

创建了新的 .net core Web 应用

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

Created new web app

确保其在美国中北部运行

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

仍然是.net core 2.2.7 cmd prompt 2.2.7

opt/dotnet/runtimes 列出 3、3.0 和 3.0.0,但没有 3.1` enter image description here

环境变量

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

发布

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

Devops release pipeline

更新 1

罪魁祸首似乎是 Azure Devops Web 应用程序/Web 服务任务中的框架堆栈中缺少 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 deploy pipeline to Linux App Service

建议的解决方法

  1. 使用 YML 进行发布管道,并手动将版本从 3.0 更改为 3.1,如答案和 this thread 所示。
  2. 依赖框架版本升级到自包含版本。 Reference
  3. 降级到 .NetCore 3.0

最佳答案

我遇到了同样的情况,使用您提供的信息,我已经能够通过在 Devops Pipelines Build .yml 文件中手动设置值来解决问题。看起来他们只是缺少运行时堆栈下拉列表中的值。如果您手动更新构建流程 .yml 文件,如下所示:

enter image description here

这将选择正确的框架版本。希望这将解决您的 Azure Devops CI Pipeline 部署问题。

关于azure - 未找到 Linux Azure WebApp 的指定框架 'Microsoft.AspNetCore.App' 、版本 '3.1.0',我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59842740/

相关文章:

c# - 使用用户名和密码 .netcore 2 的 Swagger Auth

Azure 网站和有状态 WebApp

rest - Azure HTTPS POST 和 GET

node.js - 部署到 azure 时,nodemailer 行为不稳定

azure - 优化具有 1000 个并发用户的 Azure Blob 存储的下载

c# - 在单元测试中反序列化 appsettings.json

python - Microsoft Azure 认知服务人脸 API 错误 403

asp.net - 如何使用 Active Directory 创建具有个人用户帐户的新 .NET 应用程序?

reactjs - Azure Active Directory - 如何为我在租户下注册的应用程序提供 http redirectUri

msbuild - 在 ASP.NET 5 的 Visual Studio Online 构建期间未定义或导入预定义类型 'System.Void'