ASP.NET 6.0 Core 迁移 ASP.NET Core 7.0

2022年微软发布了.NET 7, 同时提供了详细的升级迁移方案。

Migrate from ASP.NET Core 6.0 to 7.0

今天给大家简单整理、分享一篇文章。

一、首先需要升级Visual Studio 2022或者VS Code

   VS Code升级最新版本,或者安装.NET 7 SDK.

   VS升级完成后,使用VS 2022打开已有的ASP.NET Core 6.0的代码工程。然后进行以下修改。

二、更新Global.JSON中.NET Core SDK

    如果依赖于global.json文件以特定的.NET Core SDK版本为目标,将版本属性更新为已安装的.NET 7.0 SDK版本。例如:

{
  "sdk": {
     "version": "7.0.100"
  }
}

 三、 修改项目工程的Target Framework

    修改各个项目工程的目标框架属性,改为net7.0

    Update the project file's Target Framework Moniker (TFM) to net7.0:

<PropertyGroup>
        <TargetFrameworks>net7.0</TargetFrameworks>
        <RootNamespace>Teld.Core.ServiceGateway.WebAPI</RootNamespace>
        <AssemblyName>TeldSG</AssemblyName>
        <UserSecretsId>0e9a6ca5-b196-48d0-a804-58e66bf93041</UserSecretsId>
    </PropertyGroup>

    当然也可以使用  <TargetFrameworks>netstandard2.1;net451;net6.0;net7.0</TargetFrameworks>

四、升级Nuget包引用

  在项目文件中,将每个Microsoft.AspNetCore.*、Microsoft.EntityFrameworkCore.*,Microsoft.Extensions.*和System.Net.Http.Json包引用的Version属性更新为7.0.0或更高版本。

<ItemGroup>
 <PackageReference Include="Microsoft.AspNetCore.JsonPatch" Version="7.0.0" />
  <PackageReference Include="Microsoft.EntityFrameworkCore.Tools" Version="7.0.0">
  <PackageReference Include="Microsoft.Extensions.Caching.Abstractions" Version="7.0.0" />
  <PackageReference Include="System.Net.Http.Json" Version="7.0.0" />
</ItemGroup>

上述这一波操作后,ASP.NET Core 6.0的工程,就可以升级到ASP.NET Core 7.0.

 

周国庆

2023/1/16

本文转载于网络 如有侵权请联系删除

相关文章

  • Mysql-5.6 二进制多实例部署(上)

    一.简介MySQL多实例就是在一台机器上开启多个不同的服务端口(如:3306,3307),运行多个MySQL服务进程,通过不同的socket监听不同的服务端口来提供各自的服务:特点:有效利用服务器资源,当单个服务器资源有剩余时,可以充分利用剩余的资源提供更多的服务。节约服务器资源资源互相抢占问题,当某个服务实例服务并发很高时或者开启慢查询时,会消耗更多的内存、CPU、磁盘IO资源,导致服务器上的其他实例提供服务的质量下降;部署方式: 第一种是使用多个配置文件启动不同的进程来实现多实例,这种方式的优势逻辑简单,配置简单,缺点是管理起来不太方便第二种是通过官方自带的mysqld_multi使用单独的配置文件来实现多实例,这种方式定制每个实例的配置不太方面,优点是管理起来很方便,集中管理同一开发环境下安装两个数据库,必须处理以下问题配置文件安装路径不能相同数据库目录不能相同启动脚本不能同名端口不能相同socket文件的生成路径不能相同二.环境声明1.环境[mysql-Server] 主机名=host-1 系统=centos-7.3 地址=1.1.1.1 软件=mysql-5.6.393306

  • 智慧气象:如何利用大数据及安防AI技术进行气象灾害监测预警?

    一、方案背景我国地处东南亚季风区,幅员辽阔,人口众多,自然环境复杂,天气气候多变,是世界上气象灾害最严重的国家之一。在频繁发生的自然灾害中,气象灾害约占70%。我国气象灾害种类多、分布地域广,发生频率高、损失程度高。气象灾害不仅对公共安全构成了严重的威胁,而且每年都给国民经济带来巨大损失。因此,建设突发气象灾害预警视频监控系统,健全气象灾害应急响应机制以及提高气象灾害防范、处置能力,已经成为行业迫不及待的需求。随着科学技术的发展,尤其是移动互联网、物联网、大数据、云计算、人工智能等新兴技术的发展,为气象灾害的监测、预报预警工作提供了科学化、智能化的技术支撑。二、方案需求新形势下的气象灾害监测预警平台,对防灾减灾救灾综合决策提出了新的需求:1)高清视频:视频监控质量要求清晰可靠,关键视频点要求高清(720P/1080P);2)网络信号:针对4G/5G网络信号欠佳的地区如山区、农村,通过卫星信道输送视频信号,实现对现场进行实时监控;3)实时定位:通过装备GPS/北斗终端,实现在地理信息系统和数字化地图上实时显示一线人员的位置,为正确实施应急指挥提供依据;4)数据共享:利用总局、分局的“级联

  • 利用django model save方法对未更改的字段依然进行了保存

    我就废话不多说了,直接上代码吧!obj=Obj.objects.get(id=1) printobj.name#此时name的值假定为'abc' defhandler(oid): obj=Obj.objects.get(id=oid) obj.name='123' obj.save() handler(obj.id) obj.age=10 obj.save() printobj.name复制最终的name结果依然为’abc’。save()保存时,虽然没有更改其它字段,但依然会将内存中的值,再次存入数据库,子函数和其它进程更改的值会被覆盖。补充知识:DjangoSignals之pre_save&post_save,pre_delete&post_deleteListeningtosignals(信号监听)Toreceiveasignal,registerareceiverfunctionusingtheSignal.connect()method.Thereceiverfunctioniscalledwhenthesignalis

  • LeetCode 914. 卡牌分组(最大公约数)

    1.题目给定一副牌,每张牌上都写着一个整数。此时,你需要选定一个数字X,使我们可以将整副牌按下述规则分成1组或更多组:每组都有X张牌。 组内所有的牌上都写着相同的整数。 仅当你可选的X>=2时返回true。示例1: 输入:[1,2,3,4,4,3,2,1] 输出:true 解释:可行的分组是[1,1],[2,2],[3,3],[4,4] 示例2: 输入:[1,1,1,2,2,2,3,3] 输出:false 解释:没有满足要求的分组。 示例3: 输入:[1] 输出:false 解释:没有满足要求的分组。 示例4: 输入:[1,1] 输出:true 解释:可行的分组是[1,1] 示例5: 输入:[1,1,2,2,2,2] 输出:true 解释:可行的分组是[1,1],[2,2],[2,2] 提示: 1<=deck.length<=10000 0<=deck[i]<10000复制来源:力扣(LeetCode) 链接:https://leetcode-cn.com/problems/x-of-a-kind-in-a-deck-of-cards 著作权归领

  • 工作记录 | 基于DocSearch黑一套搜索引擎

    记录一下最近工作中利用DocSearch,基于ServiceWorker和CacheAPI“恶搞”的一套Wiki搜索引擎,挺有意思的。首先要考虑前端的基础设施。。开发者开发一款app前首先考虑的是:自己能调度的硬件资源。硬件资源包括算力(时间资源)、存储力(空间资源)。前端这个岗位是比较尴尬的,因为对我们来说,后端只提供有限的服务:只读的文件服务。通常一款app的架构基本上都是前端+后端,也就是一款app可以利用2台机器的算力和存储力为自己服役,这2台机器就是开发者的物质基础。 在“前后端分离”的大环境下,前端开发者所拥有的资源是有限的。这个限制主要在于服务器的算力上。服务器不能像往常那样提供任意的计算服务,只能提供静态文件的访问权限,对于前端来说,这台服务器是“readonly”的。在这种充满挑战的环境,利用有限的资源开发app就是我们的日常。 然后回归主题。 扯了这么一大通就是为了证明,原来搜索引擎可以不用服务器的支持。由于“被搜索”的数据库就是所有markdown文档的一二三级标题,所有这些标题存储在index.json(下面简称index)作为【文档索引】从后端运送到前端,并在

  • 肖仰华:知识图谱构建的三要素、三原则和九大策略 | AI ProCon 2019

    演讲嘉宾|肖仰华(复旦大学教授、博士生导师,知识工场实验室负责人) 编辑|Jane出品|AI科技大本营(ID:rgznai100)近两年,知识图谱技术得到了各行各业的关注,无论是企业公司还是开发者个人,都对这项技术有着极大的了解与使用需求。在近日的AI开发者大会(AIProCon2019)的知识图谱技术专题,演讲嘉宾为开发者们分享了该领域技术应用的实践经验与未来发展趋势。其中,复旦大学教授、博士生导师,知识工场实验室负责人肖仰华教授从知识图谱目前所面临的机遇与挑战出发,分析了大规模知识图谱自动化构建的三个要素、三大原则和五个环节,并重点讲解了知识图谱落地的九大构建策略,这将帮助开发者聚焦知识图谱的主流方向,助力企业构建自己的知识图谱。以下为肖仰华教授的演讲内容实录,AI科技大本营(ID:rgznai100)整理:首先非常开心能有机会再次在CSDN和大家分享我们在知识图谱的构建和应用方面的工作和一些思考。今天给大家带来的题目是《知识图谱构建与应用InPractice》。凡是做知识图谱工作的都有一个体会:最近知识图谱的研究特别火热,大家可以看到大量知识图谱的论文和成果,但真正把这些来自大公

  • SAP MRP区域功能基本介绍(三)

    前面介绍了工厂级与库存地点级MRP区域功能,最后再介绍一下供应商类型的MRP区域:此类型的MRP区域的特点是,首先对MRP区域指定一个工厂,而后再对其指定一个供应商,这样就可以将合格供应商与其他供应商分开进行计划。在跑MRP时只考虑由这个供应商所提供的供给,而由其他渠道获得供给的一律被无视。1.“供应商”MRP区域后台定义路径:SPRO——生产——物料需求计划——主数据——MRP区域定义——定义MRP区域运行在上图中,定义“MRP范围”,如100001,MRP范围类型为“03-供应商”,并指定该MRP区域对应的工厂1010,以上内容维护完毕后,双击“外协加工商”进入下图:定义该外协供应商MRP区域对应的供应商代码例如“702805”,一个供应商MRP区域只能对应一个外协供应商。2.特殊采购类(20/45)后台定义在将“外协供应商”MRP区域分配给物料主数据时,系统提示需维护该物料所在的外协供应商MRP区域对应的特殊采购类,此时会用到特殊采购类20-外部采购和特殊采购类45-库存从工厂到MRP范围(例如外协加工的成品或者半成品下挂的原材料是从外部采购来的,则需维护20特殊采购类;如果外协

  • Linux用户组&权限管理

    Linux是一个多用户的操作系统,引入用户,可以更加方便管理Linux服务器,系统默认需要以一个用户的身份登入,而且在系统上启动进程也需要以一个用户身份去运行,用户可以限制某些进程对特定资源的权限控制。本章向读者介绍Linux系统如何管理创建、删除、修改用户角色、用户权限配置、组权限配置及特殊权限深入剖析。1Linux用户及组Linux操作系统对多用户的管理,是非常繁琐的,所以用组的概念来管理用户就变得简单,每个用户可以在一个独立的组,每个组也可以有零个用户或者多个用户。Linux系统用户是根据用户ID来识别的,从默认ID编号从0开始,但是为了和老式系统兼容,用户ID限制在60000以下,Linux用户分总共分为三种,分别如下:root用户(ID0)系统用户(ID1-499)普通用户(ID500以上)Linux系统中的每个文件或者文件夹,都有一个所属用户及所属组,使用id命令可以显示当前用户的信息,使用passwd命令可以修改当前用户密码。Linux操作系统用户的特点如下:每个用户拥有一个UserID,操作系统实际读取的是UID,而非用户名;每个用户属于一个主组,属于一个或多个附属组,

  • 一文解决韦恩图(零代码版本、R语言、python版本)

    (1)送给不喜欢编程的同学http://bioinformatics.psb.ugent.be/webtools/Venn/(1)导入准备做交集的文件。(2)点击submit选项。 其结果如下所示:该网站可以完成最多30个数据集的交集绘制。其样式可以在上一步的outputcontrol修改。(2)送给喜欢用Python的同学#-*-coding:utf-8-*- """ CreatedonSatJul2718:35:512019 @author:czh """ %reset-f %clear #In[*] #绘图代码 frommatplotlibimportpyplotasplt importnumpyasnp frommatplotlib_vennimportvenn3,venn3_circles plt.figure(figsize=(4,4)) v=venn3(subsets=(230,32,109,33,56,20,44),set_labels=('A','B','C

  • spring boot 整合shiro 错误

    最近在弄springboot整合shiro的。这里记录其中一个错误:1:NoSecurityManageraccessibletothecallingcode,eitherboundtotheorg.apache.shiro.util.ThreadContextorasavmstaticsingleton. Thisisaninvalidapplicationconfiguration.各种搜索:发现相关的说web.xml中没有添加shiro相关的拦截器。凯哥现在用的是springboot。web.xml没有。但是凯哥配置了shiro的核心拦截器啊。如下图:并且使用了@Configuration这个注解了。可是为什么还是会报错呢?在好好看看人家的分析,说是web.xml文件中没有添加。我使用了@Configuration理论上,springboot会自动加载啊。回头在看看springboot启动类:好像没问题啊。因为在没有基础shiro的时候,项目还是正常运行的。在细细一看,感觉好像还是不对。为什么呢?因为我们使用了@Configuration这个注解,而在springboot启动类似

  • 微课|《Python编程基础与案例集锦(中学版)》第2章(2)

    适用教材:《Python编程基础与案例集锦(中学版)》,董付国,应根球著,电子工业出版社 例2-2 例2-3 例2-4 京东图书地址:https://item.jd.com/12571990.html 当当图书地址:http://product.dangdang.com/26922174.html 温馨提示 关注本公众号“Python小屋”,通过菜单“最新资源”==>“历史文章”可以快速查看分专题的800篇技术文章列表(可根据关键字在页面上搜索感兴趣的文章),通过“最新资源”==>“微课专区”可以免费观看300节Python微课,通过“最新资源”==>“培训动态”可以查看近期Python培训安排,通过“最新资源”==>“教学资源”可以查看Python教学资源。 --------董付国老师Python系列图书-------- 友情提示:不建议购买太多,最好先通过京东、当当、天猫查阅图书了解目录和侧重点,然后再选择购买适合自己的书。 1)《Python程序设计(第2版)》清华大学出版社,2016年8月 2)《Python可以这样学》清华大学出版社,2017年2月 3

  • thymeleaf:局部变量 th:with

    当th:with被处理,firstPer变量创建一个局部变量和变量添加到map自上下文,以便它是用于评估和其他上下文中声明的变量从开始,但只有包含<div>标记的范围内。<divth:with="firstPer=${persons[0]},secondPer=${persons[1]}"> <p> Thenameofthefirstpersonis<spanth:text="${firstPer.name}">JuliusCaesar</span>. </p> <p> Butthenameofthesecondpersonis <spanth:text="${secondPer.name}">MarcusAntonius</span>. </p> </div>复制 th:width属性允许重用变量定义在相同的属性:<divth:with="company=${user.compa

  • 业界 | 数据分析师薪资有多高?爬了29个城市的数据告诉你答案

    按要求转自软件定义世界(SDX)ID:SDx-SoftwareDefinedx想要从事数据分析师这个岗位,那自然首先需要对这个岗位有所了解。最直接、最真实的方式就是从企业那里获得需求讯息,这样才最能够指导自己的学习方向和简历准备。本文即是要利用爬虫爬取拉勾网上数据分析这一岗位的信息,然后进行一些探索和分析,以数据分析来了解‘数据分析’。数据来源本项目所使用的数据集全部来自拉勾网,是通过集搜客这一网络爬虫工具来爬取的。之所以选择拉勾网作为本项目的数据源,主要是因为相对于其他招聘网站,拉钩网上的岗位信息非常完整、整洁,极少存在信息的缺漏。并且几乎所有展现出来的信息都是非常规范化的,极大的减少了前期数据清理和数据整理的工作量。(笔者毕竟是工作之余完成,时间有限,能省则省)本次爬取信息的时候,主要获得了以下信息:项目目的主要是希望通过实际的数据来解答针对数据分析岗位的一些疑惑,具体来说,主要针对以下几个问题:数据分析师岗位需求的地域性分布;整个群体中薪酬分布的情况;不同城市数据分析师的薪酬情况是怎样的;该岗位对于工作经验的要求是怎样的;根据工作经验的不同,薪酬是怎样变化的;从用人单位的角度看,

  • Java设计模式:Factory Method(工厂方法)模式

    概念定义 工厂方法(FactoryMethod)模式,又称多态工厂(PolymorphicFactory)模式或虚拟构造器(VirtualConstructor)模式。工厂方法模式通过定义工厂抽象父类(或接口)负责定义创建对象的公共接口,而工厂子类(或实现类)则负责生成具体的对象。 工厂方法模式对简单工厂模式中的工厂类进一步抽象。核心工厂类不再负责产品的创建,而是演变为一个抽象工厂角色,仅负责定义具体工厂子类必须实现的接口。同时,针对不同的产品提供不同的工厂。即每个产品都有一个与之对应的工厂。这样,系统在增加新产品时就不会修改工厂类逻辑而是添加新的工厂子类,从而弥补简单工厂模式对修改开放的缺陷。 在实际项目中,工厂方法模式是使用较多的工厂模式。 应用场景 当一个类不知道它所需要的对象的类时 在工厂方法模式中,客户端不需要知道具体产品类的类名,只需要知道所对应的工厂即可,具体的产品对象由具体工厂类创建。 当一个类希望通过其子类来指定创建哪个对象时 在工厂方法模式中,抽象工厂类只需提供一个创建产品的接口,而由其子类来确定具体要创建的对象。利用面向对象的多态性和里氏替换原则,程序运行时子类

  • 半夜思考,为什么 String 具有不变性

    学习Java的数据类型时,特殊关照了String类型,具有不变性。 当时没有深入思考为什么String有不变性。而且我只碰到了String才有不变性。Java这样设计的缘由何在。      突然在想,为什么Struts2中的action的返回值为什么也是String类型的,不是其他类型,SpringMVC中handle也是返回的是String类型【ModelAndView里面也包含了视图名的字符串形式,void就不提了,处理AJAX】。           下面就好好分析这个字符串不变性。 所谓不变性就是一旦创建一个字符串对象,这个字符串对象的内容就不会被改变了。比如: packagecom.msym.test; publicclassTest{ publicvoidshow(){ Stringstr1="aaa"; Stringstr2="aaa"; Stringstr3=newString("aaa"); System.out.pri

  • 【JAVA SE基础篇】73.JDBC应用

    1.批处理 对于大批量的批处理,建议使用Statement,因为PreparedStatement的预编译空间有限,数据量大会发生异常。  2.事务 概念:一组要么同时执行成功,要么同时执行失败的sql语句,是数据库操作的一个执行单元 开始于:     1.连接到数据库上,并执行一条DML语句(INSERT,UPDATE和DELETE)   2.前一个事务结束后,又输入到另一条DML语句 结束于:   1.执行COMMIT或ROLLBACK语句   2.执行一条DDL语句,例如CREATETABLE语句;在这种情况下,会自动执行COMMIT语句   3.执行一条DCL语句,例如GRANT语句;在这种情况下,会自动执行COMMIT语句   4.断开数据库的连接   5.执行了一条DML语句,该语句失败了;在这种情况下,会为这个无效的DML语句执行ROLLBACK语句。 四大特性(ACID):   1.atmoicity(原子性):表示一个事务内的操作是一个整体,要么全部成功,要么全部失败   2.consistency(一致性):表示一个事务内有一个操作失败时,所有的更改过的

  • [Python]if-else的多种简洁的写法

    https://www.cnblogs.com/xiexiaoxiao/p/7772441.html 有意思的写法 个性签名:做要做好,做到不三不四不如不做。

  • jenkins-为什么要持续集成

    持续集成(Continuous Integration),也就是我们经常说的 CI,是现代软件开发技术的基础。本文论述了当前软件开发过程中存在的问题,讲解了持续集成、持续集成服务器的概念,最终探讨了为什么我们需要持续集成来解决这些问题。   当前软件开发过程存在的问题   在没有应用持续集成之前,传统的开发模式是这样的: l 项目一开始是先划分好模块,分配模块给相应的开发人员; l 开发人员开发好一个模块就进行单元测试; l 等所有的模块都开发完成之后,由项目经理对所有代码进行集成; l 集成后的项目由项目经理部署到测试服务器上,被交由测试人员进行集成测试; l 测试过程中出现 Bug 就提把问题记录进行 Bug 列表中; l 项目经理分配 Bug 给相应的责任人进行修改; l 修改完成后,项目经理再次对项目进行集成,并部署到测试服务器上; l 测试人员在下一次的集成测试中进行回归测试; l 通过通

  • C# Post HTTP Request

    usingSystem; usingSystem.Collections.Generic; usingSystem.IO; usingSystem.Net; usingSystem.Security.Cryptography; usingSystem.Text; usingSystem.Threading.Tasks; usingNetwork; usingNewtonsoft.Json; publicstaticclassHttpUtility { ///<summary> ///创建POST方式的HTTP请求 ///</summary> ///<paramname="url"></param> ///<paramname="parameters"></param> ///<paramname="timeout"></param> ///<paramname="userAgent"></param> ///<paramname="cookies">

  • 如何在多可文档管理软件中设置服务器端参数(2)

    1.2SSL加密传输 启用SSL加密传输后,数据会在加密状态下传输,因此数据更为安全。此功能默认状态为不启用。如需启用,需向第三方数字证书提供商购买数字证书,并在此界面填写相关参数。   启用并填写参数:      服务器证书文件:  您可以向CA认证机构申请网站SSL证书。  服务器证书密钥文件:在您申请服务器证书前,您需要先创建服务器证书密钥,用来生成服务器证书申请文件。在创建申请文件过程中,注意您输入的常用名(网站名称),这个必须要和服务器网站一致,否则客户端浏览器过提示证书错误。  服务器证书密钥口令:创建服务器证书密钥过程中输入的口令。  服务器证书对应的根证书文件: CA认证机构给您服务器证书文件的时候会同时给您服务器证书的根证书文件。  根证绑定网站:创建服务器证书的申请文件过程中的常用名(网站名称)。  SSL绑定端口:浏览器默认是443端口,请尽可能设置为443端口。 1.3生成服务器证书一般过程 1、创建服务器证书密钥。2、创建申请文件。3、向

  • 盒子模型(含ie8--怪异盒子模型)

    盒子模型包括:centent(内容)、border(边框)、padding(内边距)、margin(外边距) //HTML: <div>centent</div>复制 //CSS: div{ height:200px; width:200px; padding:10px; margin:20px; border:#0000005pxsolid; }复制   正常盒子模型试例:   正常盒子模型的高=centent的高度+border(上下边框的高度)+padding(上下内边距){ie9+Firefox4,Chrome,OperaSafari盒子模型计算方法} 正常盒子模型的宽=centent的宽度+border(上下边框的宽度)+padding(上下内边距){ie9+Firefox4,Chrome,OperaSafari盒子模型计算方法}   ie怪异模型试例:    ie怪异盒子模型的高=centent的高度+border(上下边框的高度)x2+padding(上下内边距)x2{ie低版本} ie

相关推荐

推荐阅读