当前位置: 首页 > news >正文

【后端】Core框架版本和发布时间以及.net 6.0启动文件的结构

2023年,第35周,第1篇文章。给自己一个目标,然后坚持总会有收货,不信你试试!
.NET Core 是一个跨平台的开源框架,用于构建现代化的应用程序。它在不同版本中有一些重要的区别和发布时间

目录

  • 一、Core版本和发布时间
    • 1.1、NET Core 1.x系列
    • 1.2、.NET Core 2.x系列
    • 1.3、.NET Core 3.x系列
    • 1.4、.NET 5(里程碑)
    • 1.5、.NET 6
  • 二、Core和C#版本
    • 3.1、打开程序文件
    • 3.2、打开启动文件

在这里插入图片描述

一、Core版本和发布时间

下面是主要版本的简要概述:

1.1、NET Core 1.x系列

于2016年发布。
它是.NET Core 的最初版本,提供了跨平台、高性能和轻量级的开发体验。
然而,由于初始版本的限制和局限性,这个系列不再得到维护和支持。

1.2、.NET Core 2.x系列

于2017年发布。
这个系列带来了许多重要的改进和特性,例如更好的性能、更强大的开发工具和更广泛的平台支持。
它还加强了与.NET Framework 的兼容性,并引入了ASP.NET Core 2.x,用于构建Web应用程序。

1.3、.NET Core 3.x系列

于2019年发布。
这个系列引入了许多令人激动的特性,包括支持Windows桌面应用程序开发、WPF和Windows Forms的现代化和改进、C# 8.0的语言特性等。
此外,还引入了新的.NET Core 3.1版本,作为一个长期支持(LTS)版本。

1.4、.NET 5(里程碑)

于2020年发布。
这是一个重要的版本,汇集了.NET Framework 和.NET Core 的功能,并成为一个单一的统一平台。
它旨在提供更高的性能、更多的可选组件和更广泛的支持。

1.5、.NET 6

发布于2021年11月发布。
这将是一个重要的版本,将带来更多的改进、新特性和改进性能。
.NET 6 支持多种操作系统和平台,包括 Windows、 macOS 和 Linux,同时还提供了对 Web、移动和云等应用程序类型的支持。

在.NET 6中,开发者可以使用新的语言特性、增强的工具和框架组件来构建高性能和现代化的应用程序。
此外,.NET 6还引入了新的 MAUI(Multi-platform App UI)框架,用于构建跨平台的本机应用程序,包括支持移动和桌面平台。

需要注意的是,从.NET 5开始,微软决定放弃“Core”命名,而改为以年份作为版本编号。这是为了更好地反映.NET平台的连续性和一致性。

二、Core和C#版本

在 .NET Core 中,每个版本都与相应版本的 C# 语言进行了搭配。
以下是一些常见的 .NET Core 版本和相应的 C# 语言版本的对应关系:

1).NET Core 1.x: 对应 C# 6.0
2).NET Core 2.x: 对应 C# 7.0 和 C# 7.1
3).NET Core 3.x: 对应 C# 8.0
4).NET 5: 对应 C# 9.0
5).NET 6: 对应 C# 10.0

需要注意的是,C# 语言版本与 .NET Core 版本不是完全绑定的,这意味着你可以使用低版本的 C# 语言特性在较高版本的 .NET Core 中开发。
然而,如果你想要使用某个特定版本的 C# 语言的最新功能和改进,你可能需要使用相应的 .NET Core 版本。

此外,还要注意,C# 语言版本的正式支持取决于你所使用的开发工具(例如 Visual Studio)的版本。
确保使用的开发工具支持所需的 C# 语言版本,并且按照相应的语法和规则来编写代码。

需要指出的是,以上是常见的对应关系,具体的版本对应关系可以根据实际情况变化。
因此,建议在使用特定的 .NET Core 版本时,查阅相应的文档或官方发布信息,以确定该版本对应的 C# 语言版本。

三、.net core 6.0启动文件
在 .NET 6.0 中,Startup 文件的创建方式与之前的版本相比有一些变化。
下面是在 .NET 6.0 中创建 Startup 文件的步骤:

3.1、打开程序文件

首先,在你的项目(例如 ASP.NET Core Web 应用程序)中,打开 Program.cs 文件。

CreateHostBuilder 方法中,注册和配置应用程序的服务和设置。
在这里你可以使用 .ConfigureServices.Configure 方法来添加服务和配置应用程序。

using Microsoft.AspNetCore.Builder;
using Microsoft.Extensions.DependencyInjection;var builder = WebApplication.CreateBuilder(args);// 配置服务
builder.Services.AddControllersWithViews();
// ...// 配置应用程序
var app = builder.Build();
app.UseRouting();
app.UseEndpoints(endpoints =>
{endpoints.MapControllers();// ...
});app.Run();

3.2、打开启动文件

确保你的项目中存在一个名为 Startup.cs 的文件。如果不存在该文件,可以手动创建它。
打开 Startup.cs 文件,并确保它包含命名空间引用和类的定义。

using Microsoft.AspNetCore.Builder;
using Microsoft.Extensions.Configuration;
using Microsoft.Extensions.DependencyInjection;namespace YourNamespace
{public class Startup{public IConfiguration Configuration { get; }public Startup(IConfiguration configuration){Configuration = configuration;}// ConfigureServices 方法用于配置应用程序的服务public void ConfigureServices(IServiceCollection services){services.AddControllersWithViews();// ... 添加其他服务配置}// Configure 方法用于配置应用程序的请求处理管道public void Configure(IApplicationBuilder app){if (env.IsDevelopment()){app.UseDeveloperExceptionPage();}else{app.UseExceptionHandler("/Home/Error");app.UseHsts();}app.UseHttpsRedirection();app.UseStaticFiles();app.UseRouting();app.UseAuthorization();// 配置端点路由app.UseEndpoints(endpoints =>{endpoints.MapControllerRoute(name: "default",pattern: "{controller=Home}/{action=Index}/{id?}");});}}
}

确保在 Program.csCreateHostBuilder 方法中设置启动类为 Startup 类。

builder.ConfigureServices((hostContext, services) =>
{// ...
}).ConfigureWebHostDefaults(webBuilder =>
{webBuilder.UseStartup<YourNamespace.Startup>();
});

现在,你已经成功创建了 Startup 文件,并定义了应用程序的服务和请求处理管道配置。
可以在 Startup 类中添加更多的中间件、配置选项和服务来满足你的应用程序需求。

相关文章:

【后端】Core框架版本和发布时间以及.net 6.0启动文件的结构

2023年&#xff0c;第35周&#xff0c;第1篇文章。给自己一个目标&#xff0c;然后坚持总会有收货&#xff0c;不信你试试&#xff01; .NET Core 是一个跨平台的开源框架&#xff0c;用于构建现代化的应用程序。它在不同版本中有一些重要的区别和发布时间 目录 一、Core版本和…...

Linux 定时任务 crontab 用法学习整理

一、linux版本 lsb_release -a 二、crontab 用法学习 2.1&#xff0c;crontab 简介 linux中crontab命令用于设置周期性被执行的指令&#xff0c;该命令从标准输入设备读取指令&#xff0c;并将其存放于“crontab”文件中&#xff0c;以供之后读取和执行。cron 系统调度进程。…...

看板之道:如何利用Kanban优化您的项目流程

引言 在项目管理的世界中&#xff0c;如何确保任务的流畅进行并及时交付是每个团队都面临的挑战。Kanban&#xff0c;作为一种敏捷项目管理方法&#xff0c;为此提供了一个答案。它不仅提供了一种可视化的方式来跟踪任务的进度&#xff0c;还鼓励团队持续改进其工作流程&#…...

Docker的基础操作

1.安装docker服务&#xff0c;配置镜像加速器 1.1 使用yum进行安装 添加docker-ce的源信息 [rootlocalhost ~]# yum install yum-utils device-mapper-persistent-data lvm2 -y [rootlocalhost ~]# yum-config-manager --add-repo https://mirrors.tuna.tsinghua.edu.cn/doc…...

14、缓存预热+缓存雪崩+缓存击穿+缓存穿透

缓存预热缓存雪崩缓存击穿缓存穿透 ● 缓存预热、雪崩、穿透、击穿分别是什么&#xff1f;你遇到过那几个情况&#xff1f; ● 缓存预热你是怎么做到的&#xff1f; ● 如何避免或者减少缓存雪崩&#xff1f; ● 穿透和击穿有什么区别&#xff1f;它两一个意思还是截然不同&am…...

【PostGreSQL】PostGreSQL到Oracle的数据迁移

项目需要&#xff0c;有个数据需要导入&#xff0c;拿到手一开始以为是mysql&#xff0c;结果是个PostGreSQL的数据&#xff0c;于是装数据库&#xff0c;但这个也不懂呀&#xff0c;而且本系统用的Oracle&#xff0c;于是得解决迁移转换的问题。 总结下来两个思路。 1、Postg…...

jupyter notebook出现ERR_SSL_VERSION_OR_CIPHER_MISMATCH解决方案

大家好,我是爱编程的喵喵。双985硕士毕业,现担任全栈工程师一职,热衷于将数据思维应用到工作与生活中。从事机器学习以及相关的前后端开发工作。曾在阿里云、科大讯飞、CCF等比赛获得多次Top名次。现为CSDN博客专家、人工智能领域优质创作者。喜欢通过博客创作的方式对所学的…...

前端进阶Html+css10----定位的参照对象(高频面试题)

1.relative的参照对象 1&#xff09;元素按照标准流进行排布&#xff1b; 2&#xff09;定位参照对象是元素自己原来的位置&#xff0c;可以通过left、right、top、bottom来进行位置调整&#xff1b; 2.absolute&#xff08;子绝父相&#xff09; 1&#xff09;元素脱离标准流…...

总结记录Keras开发构建神经网络模型的三种主流方式:序列模型、函数模型、子类模型

Keras是一个易于使用且功能强大的神经网络建模库&#xff0c;它是基于Python语言开发的。Keras提供了高级API&#xff0c;使得用户能够轻松地定义和训练神经网络模型&#xff0c;无论是用于分类、回归还是其他任务。 Keras的主要特点如下&#xff1a; 简单易用&#xff1a;Kera…...

python环境建设

1. 查看通过pip安装包的路径 问题&#xff1a;devchat vscode中配置需要查找devchat的安装路径&#xff0c;使用pip相关的命令查看 pip list | grep package_name 命令显示获取已安装包的信息&#xff08;包名与版本号&#xff09;pip show package_name命令能显示该安装的包…...

Python学习笔记第五十九天(Matplotlib 安装)

Python学习笔记第五十九天 Matplotlib 安装后记 Matplotlib 安装 本章节&#xff0c;我们使用 pip 工具来安装 Matplotlib 库&#xff0c;如果还未安装该工具&#xff0c;可以参考 Python pip 安装与使用。 如果您还没有安装Matplotlib&#xff0c;您可以按照以下步骤在Pytho…...

(6)(6.3) 自动任务中的相机控制

文章目录 前言 6.3.1 概述 6.3.2 自动任务类型 6.3.3 创建合成图像 前言 本文介绍 ArduPilot 的相机和云台命令&#xff0c;并说明如何在 Mission Planner 中使用这些命令来定义相机勘测任务。这些说明假定已经连接并配置了相机触发器和云台(camera trigger and gimbal ha…...

什么是cssreset ?为什么要用到cssreset?

1&#xff0c;什么是cssreset ? 顾名思义&#xff0c;css reset&#xff0c;样式重置。即重新设置界面的样式。 CSS reset&#xff0c;又叫做 CSS 重写或者 CSS 重置&#xff0c;用于改写HTML标签的默认样式。 有些HTML标签在浏览器里有默认的样式&#xff0c;例如 p 标签有上…...

SpringCloud学习笔记(四)_ZooKeeper注册中心

基于Spring Cloud实现服务的发布与调用。而在18年7月份&#xff0c;Eureka2.0宣布停更了&#xff0c;将不再进行开发&#xff0c;所以对于公司技术选型来说&#xff0c;可能会换用其他方案做注册中心。本章学习便是使用ZooKeeper作为注册中心。 本章使用的zookeeper版本是 3.6…...

【算法专题突破】双指针 - 移动零(1)

目录 写在前面 1. 题目解析 2. 算法原理 3. 代码编写 写在最后&#xff1a; 写在前面 在进行了剑指Offer和LeetCode hot100的毒打之后&#xff0c; 我决心系统地学习一些经典算法&#xff0c;增强我的综合算法能力。 1. 题目解析 题目链接&#xff1a;283. 移动零 - 力…...

Nginx高可用集群

目录 一.简介二.案例1.实现思路2.配置文件修改3.实现效果故障转移机制 一.简介 以提高应用系统的可靠性&#xff0c;尽可能地减少中断时间为目标&#xff0c;确保服务的连续性&#xff0c;达到高可用的容错效果。例如“故障切换”、“双机热备”、“多机热备”等都属于高可用集…...

Rust 基础入门 ——所有权 引言 :垃圾自动回收机制的缺陷。

在以往&#xff0c;内存安全几乎都是通过 GC 的方式实现&#xff0c;但是 GC 会引来性能、内存占用以及 Stop the world 等问题&#xff0c;在高性能场景和系统编程上是不可接受的&#xff0c; 我们先介绍一下这些概念都是什么&#xff1a; 内存安全是指程序在运行过程中不会访…...

Ubuntu20.04安装软件报错:The following packages have unmet dependencies

Ubuntu20.04更换阿里云源后安装软件都会报错&#xff1a;The following packages have unmet dependencies 查看资料&#xff0c;大概是ubuntu本身的源比较版本较老&#xff0c;而阿里云的源比较新&#xff0c;因此版本不匹配造成依赖的库不匹配&#xff0c;所以只要将阿里云的…...

Java 与设计模式(12):享元模式

一、定义 享元模式是一种结构型设计模式&#xff0c;旨在有效地共享对象以减少内存使用和提高性能。该模式的核心思想是通过共享尽可能多的相似对象来减少内存占用。它将对象分为可共享的内部状态和不可共享的外部状态。内部状态是对象的固有属性&#xff0c;可以在多个对象之…...

React配置代理(proxy)

使用axios进行请求&#xff0c;而配置代理过程。 第一种 在package.json中&#xff0c;添加proxy配置项,之后所有的请求都会指向该地址 但这种方法只能配置一次&#xff0c;也只有一个 示例&#xff1a; "proxy":"https://localhost:5000" 添加后&am…...

SkyWalking 10.2.0 SWCK 配置过程

SkyWalking 10.2.0 & SWCK 配置过程 skywalking oap-server & ui 使用Docker安装在K8S集群以外&#xff0c;K8S集群中的微服务使用initContainer按命名空间将skywalking-java-agent注入到业务容器中。 SWCK有整套的解决方案&#xff0c;全安装在K8S群集中。 具体可参…...

云启出海,智联未来|阿里云网络「企业出海」系列客户沙龙上海站圆满落地

借阿里云中企出海大会的东风&#xff0c;以**「云启出海&#xff0c;智联未来&#xff5c;打造安全可靠的出海云网络引擎」为主题的阿里云企业出海客户沙龙云网络&安全专场于5.28日下午在上海顺利举办&#xff0c;现场吸引了来自携程、小红书、米哈游、哔哩哔哩、波克城市、…...

理解 MCP 工作流:使用 Ollama 和 LangChain 构建本地 MCP 客户端

&#x1f31f; 什么是 MCP&#xff1f; 模型控制协议 (MCP) 是一种创新的协议&#xff0c;旨在无缝连接 AI 模型与应用程序。 MCP 是一个开源协议&#xff0c;它标准化了我们的 LLM 应用程序连接所需工具和数据源并与之协作的方式。 可以把它想象成你的 AI 模型 和想要使用它…...

Qwen3-Embedding-0.6B深度解析:多语言语义检索的轻量级利器

第一章 引言&#xff1a;语义表示的新时代挑战与Qwen3的破局之路 1.1 文本嵌入的核心价值与技术演进 在人工智能领域&#xff0c;文本嵌入技术如同连接自然语言与机器理解的“神经突触”——它将人类语言转化为计算机可计算的语义向量&#xff0c;支撑着搜索引擎、推荐系统、…...

ffmpeg(四):滤镜命令

FFmpeg 的滤镜命令是用于音视频处理中的强大工具&#xff0c;可以完成剪裁、缩放、加水印、调色、合成、旋转、模糊、叠加字幕等复杂的操作。其核心语法格式一般如下&#xff1a; ffmpeg -i input.mp4 -vf "滤镜参数" output.mp4或者带音频滤镜&#xff1a; ffmpeg…...

DIY|Mac 搭建 ESP-IDF 开发环境及编译小智 AI

前一阵子在百度 AI 开发者大会上&#xff0c;看到基于小智 AI DIY 玩具的演示&#xff0c;感觉有点意思&#xff0c;想着自己也来试试。 如果只是想烧录现成的固件&#xff0c;乐鑫官方除了提供了 Windows 版本的 Flash 下载工具 之外&#xff0c;还提供了基于网页版的 ESP LA…...

什么是Ansible Jinja2

理解 Ansible Jinja2 模板 Ansible 是一款功能强大的开源自动化工具&#xff0c;可让您无缝地管理和配置系统。Ansible 的一大亮点是它使用 Jinja2 模板&#xff0c;允许您根据变量数据动态生成文件、配置设置和脚本。本文将向您介绍 Ansible 中的 Jinja2 模板&#xff0c;并通…...

OPenCV CUDA模块图像处理-----对图像执行 均值漂移滤波(Mean Shift Filtering)函数meanShiftFiltering()

操作系统&#xff1a;ubuntu22.04 OpenCV版本&#xff1a;OpenCV4.9 IDE:Visual Studio Code 编程语言&#xff1a;C11 算法描述 在 GPU 上对图像执行 均值漂移滤波&#xff08;Mean Shift Filtering&#xff09;&#xff0c;用于图像分割或平滑处理。 该函数将输入图像中的…...

AI,如何重构理解、匹配与决策?

AI 时代&#xff0c;我们如何理解消费&#xff1f; 作者&#xff5c;王彬 封面&#xff5c;Unplash 人们通过信息理解世界。 曾几何时&#xff0c;PC 与移动互联网重塑了人们的购物路径&#xff1a;信息变得唾手可得&#xff0c;商品决策变得高度依赖内容。 但 AI 时代的来…...

【VLNs篇】07:NavRL—在动态环境中学习安全飞行

项目内容论文标题NavRL: 在动态环境中学习安全飞行 (NavRL: Learning Safe Flight in Dynamic Environments)核心问题解决无人机在包含静态和动态障碍物的复杂环境中进行安全、高效自主导航的挑战&#xff0c;克服传统方法和现有强化学习方法的局限性。核心算法基于近端策略优化…...