是否将ASP.NET Core 5应用程序部署到Azure应用服务? 为.NET 5配置现有应用服务为.NET 5配置新应用服务 Visual Studio发布警告限制替代品

如何解决是否将ASP.NET Core 5应用程序部署到Azure应用服务? 为.NET 5配置现有应用服务为.NET 5配置新应用服务 Visual Studio发布警告限制替代品

我有一个正在ASP.NET Core 3.x上运行的现有Azure应用服务。我已将应用程序升级到ASP.NET Core 5的今天版本。这在我的本地IIS Express服务器上工作正常。但是,当我使用Visual Studio将应用程序发布到App Service时,会出现以下错误:

HTTP错误500.31-ANCM无法找到本地依赖项

此问题的常用解决方案:

找不到指定版本的Microsoft.NetCore.App或Microsoft.AspNetCore.App。

ANCM检测到特定错误:

找不到任何兼容的框架版本找不到框架“ Microsoft.AspNetCore.App”(版本5.0.0)。 -找到以下框架:在[D:\ Program Files(x86)\ dotnet \ shared \ Microsoft.AspNetCore.App]的2.1.20在[D:\ Program Files(x86)\ dotnet \ shared \ Microsoft的2.1.22 .AspNetCore.App] 2.2.11 at [D:\ Program Files(x86)\ dotnet \ shared \ Microsoft.AspNetCore.App] 2.2.14 at [D:\ Program Files(x86)\ dotnet \ shared \ Microsoft.AspNetCore .App] 3.0.3 at [D:\ Program Files(x86)\ dotnet \ shared \ Microsoft.AspNetCore.App] 3.1.6 at [D:\ Program Files(x86)\ dotnet \ shared \ Microsoft.AspNetCore.App在[D:\ Program Files(x86)\ dotnet \ shared \ Microsoft.AspNetCore.App]上使用3.1.8,可以通过安装指定的框架和/或SDK解决此问题。可以在以下位置找到指定的框架:-https://aka.ms/dotnet-core-applaunch?framework=Microsoft.AspNetCore.App&framework_version=5.0.0&arch=x86&rid=win10-x86

我已经了解ASP.NET Core 5 would be immediately available on Azure App Services。我错过了一步吗?如何将ASP.NET Core 5 Web应用程序发布到Azure应用服务?还是我仍然需要等到.NET 5运行时在Azure上可用?

解决方法

您引用的the release notes尚不完全清楚,但是要利用新的App Service Early Access featureannouncement),您需要明确配置您的应用程序服务以使用.NET 5堆栈。

为.NET 5配置现有应用服务

要通过Azure门户针对现有应用程序服务执行此操作,请完成以下步骤:

  1. 转到您要升级的应用服务
  2. 点击左侧导航栏中的配置
  3. 在页面级导航中单击常规设置
  4. 堆栈设置下,选择 .NET
  5. 框架版本下,选择 .NET 5

注意:从技术上讲,完成此操作后,您将安装.NET 5运行时,并可以切换回例如。 .NET Core运行时堆栈。但是,这样做会阻止您尽早获得对.NET的后续更新的访问权限,因此我不建议这样做。

为.NET 5配置应用服务

通过Azure门户配置新的App Service时,针对App Service Early Access的这种选择更为明确。在这种情况下,创建应用程序服务时,系统会提示您选择运行时堆栈,在该堆栈下.NET 5被明确标记为 .NET 5(早期访问)

注意::如果您已经将另一个App Service配置为在同一App Service Plan上使用App Service Early Access,则.NET 5运行时将已经安装并可用。这是因为.NET运行时在同一App Service计划上的App Services之间共享。

Visual Studio发布警告

即使具有抢先体验功能,如果您启用了版本兼容性检查,从Visual Studio 2019 16.8发布时,您仍可能会收到以下警告:

您的应用程序需要.NET Core 5.0.0运行时,但是Microsoft Azure App Service仅支持以下版本:2.1.20、2.1.22、2.2.11、2.2.14、3.0.3、3.1.6,和3.1.8。

尽管如此,即使您使用的是与框架无关的部署模式,发布后所有内容也应能正常工作。

限制

警告:the App Services Early Access feature doesn't yet support Application Insights integration的当前实现。因此,如果您依赖于Azure的自动集成,而不是自定义工具,则可能要等到App Service Early Access功能支持Application Insights集成。

注意:我已经创建了an issue requesting status updates regarding Application Insights compatibility,但尚未收到回复。

替代品

作为替代方案,您可以选择使用发布配置文件({{1})中的自包含部署模式进行部署。这是.NET 5之前在Azure App Services上新发行.NET Core所需的方法,并且今天仍然受支持。

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐


依赖报错 idea导入项目后依赖报错,解决方案:https://blog.csdn.net/weixin_42420249/article/details/81191861 依赖版本报错:更换其他版本 无法下载依赖可参考:https://blog.csdn.net/weixin_42628809/a
错误1:代码生成器依赖和mybatis依赖冲突 启动项目时报错如下 2021-12-03 13:33:33.927 ERROR 7228 [ main] o.s.b.d.LoggingFailureAnalysisReporter : *************************** APPL
错误1:gradle项目控制台输出为乱码 # 解决方案:https://blog.csdn.net/weixin_43501566/article/details/112482302 # 在gradle-wrapper.properties 添加以下内容 org.gradle.jvmargs=-Df
错误还原:在查询的过程中,传入的workType为0时,该条件不起作用 <select id="xxx"> SELECT di.id, di.name, di.work_type, di.updated... <where> <if test=&qu
报错如下,gcc版本太低 ^ server.c:5346:31: 错误:‘struct redisServer’没有名为‘server_cpulist’的成员 redisSetCpuAffinity(server.server_cpulist); ^ server.c: 在函数‘hasActiveC
解决方案1 1、改项目中.idea/workspace.xml配置文件,增加dynamic.classpath参数 2、搜索PropertiesComponent,添加如下 <property name="dynamic.classpath" value="tru
删除根组件app.vue中的默认代码后报错:Module Error (from ./node_modules/eslint-loader/index.js): 解决方案:关闭ESlint代码检测,在项目根目录创建vue.config.js,在文件中添加 module.exports = { lin
查看spark默认的python版本 [root@master day27]# pyspark /home/software/spark-2.3.4-bin-hadoop2.7/conf/spark-env.sh: line 2: /usr/local/hadoop/bin/hadoop: No s
使用本地python环境可以成功执行 import pandas as pd import matplotlib.pyplot as plt # 设置字体 plt.rcParams['font.sans-serif'] = ['SimHei'] # 能正确显示负号 p
错误1:Request method ‘DELETE‘ not supported 错误还原:controller层有一个接口,访问该接口时报错:Request method ‘DELETE‘ not supported 错误原因:没有接收到前端传入的参数,修改为如下 参考 错误2:cannot r
错误1:启动docker镜像时报错:Error response from daemon: driver failed programming external connectivity on endpoint quirky_allen 解决方法:重启docker -> systemctl r
错误1:private field ‘xxx‘ is never assigned 按Altʾnter快捷键,选择第2项 参考:https://blog.csdn.net/shi_hong_fei_hei/article/details/88814070 错误2:启动时报错,不能找到主启动类 #
报错如下,通过源不能下载,最后警告pip需升级版本 Requirement already satisfied: pip in c:\users\ychen\appdata\local\programs\python\python310\lib\site-packages (22.0.4) Coll
错误1:maven打包报错 错误还原:使用maven打包项目时报错如下 [ERROR] Failed to execute goal org.apache.maven.plugins:maven-resources-plugin:3.2.0:resources (default-resources)
错误1:服务调用时报错 服务消费者模块assess通过openFeign调用服务提供者模块hires 如下为服务提供者模块hires的控制层接口 @RestController @RequestMapping("/hires") public class FeignControl
错误1:运行项目后报如下错误 解决方案 报错2:Failed to execute goal org.apache.maven.plugins:maven-compiler-plugin:3.8.1:compile (default-compile) on project sb 解决方案:在pom.
参考 错误原因 过滤器或拦截器在生效时,redisTemplate还没有注入 解决方案:在注入容器时就生效 @Component //项目运行时就注入Spring容器 public class RedisBean { @Resource private RedisTemplate<String
使用vite构建项目报错 C:\Users\ychen\work>npm init @vitejs/app @vitejs/create-app is deprecated, use npm init vite instead C:\Users\ychen\AppData\Local\npm-