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

2023年,第35周,第1篇文章。给自己一个目标,然后坚持总会有收货,不信你试试!

.NET Core 是一个跨平台的开源框架,用于构建现代化的应用程序。它在不同版本中有一些重要的区别和发布时间

目录

一、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 方法来添加服务和配置应用程序。

csharp 复制代码
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 文件,并确保它包含命名空间引用和类的定义。

csharp 复制代码
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 类。

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

现在,你已经成功创建了 Startup 文件,并定义了应用程序的服务和请求处理管道配置。

可以在 Startup 类中添加更多的中间件、配置选项和服务来满足你的应用程序需求。

相关推荐
IT规划师3 小时前
开源 - Ideal库 - 常用枚举扩展方法(一)
开源·c#·.net core·ideal库·枚举转换
内核程序员kevin3 小时前
在Linux环境下使用Docker打包和发布.NET程序并配合MySQL部署
linux·mysql·docker·.net
qtvb19878 小时前
机器视觉中常用图像处理库都有哪些?重点关注.net
图像处理·人工智能·.net
小吴同学·16 小时前
(实战)WebApi第13讲:怎么把不同表里的东西,包括同一个表里面不同的列设置成不同的实体,所有的给整合到一起?【前端+后端】、前端中点击标签后在界面中显示
c#·.netcore·.net core
小码编匠16 小时前
WPF 中文字模糊的问题:TextOptions的用法
后端·c#·.net
IT规划师1 天前
开源 - Ideal库 -获取特殊时间扩展方法(四)
开源·.net core·日期时间·ideal库
界面开发小八哥1 天前
DevExpress中文教程 - 如何使用AI模型检查HTML编辑中的语法?
ai·.net·界面控件·devexpress·ui开发
Net分享2 天前
NET平台超级好用的几款FTP客户端操作库--附代码
后端·.net
Crazy Struggle2 天前
一款 C# 编写的神经网络计算图框架
神经网络·.net·图像处理库
九鼎科技-Leo2 天前
什么是 WPF 中的转换器?如何自定义一个值转换器?
开发语言·windows·c#·.net·wpf