在 .NET 5.0 运行 .NET 8.0 教程:使用 ASP.NET Core 创建 Web API

ops/2024/12/23 14:32:14/

前言

因为我本机安装的是vs2019,所以我在使用vs创建项目的时候,只能选择.NET 5.0,而无法选择.NET 8.0
在这里插入图片描述
在网上有看到说用vs2019使用.net 8.0 ,但是感觉不可靠,要用还是安装vs2022吧。
我因为不想要安装vs2022。
但是微软教程上的代码又是基于.NET 8.0,对于从未接触过.NET CORE 的人来说,我运行不起来代码。
可以问ChatGPT,我就是在结合CHATGPT成功跑起来的。

关键核心部分

  1. 添加NuGet 包,记得选择符合自己框架版本的包版本。如.net 5.0 就需要选择5.x的包版本

  2. 在这里插入图片描述

  3. 教程中注册数据库上下文,.net 5.0 的Program.cs 是没有找到可以填写相关内容的地方。硬要填写估计是运行不起来的。

  4. 这部分注册就需要写在 startup.cs 代码文件中

  5. 在这里插入图片描述

整个startup.cs的代码

using Microsoft.AspNetCore.Builder;
using Microsoft.AspNetCore.Hosting;
using Microsoft.AspNetCore.Mvc;
using Microsoft.Extensions.Configuration;
using Microsoft.Extensions.DependencyInjection;
using Microsoft.Extensions.Hosting;
using Microsoft.Extensions.Logging;
using Microsoft.OpenApi.Models;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Threading.Tasks;
using Microsoft.EntityFrameworkCore;
using TodoApi20241005.Models;namespace TodoApi20241005
{public class Startup{public Startup(IConfiguration configuration){Configuration = configuration;}public IConfiguration Configuration { get; }// First Called// This method gets called by the runtime. Use this method to add services to the container.public void ConfigureServices(IServiceCollection services){services.AddControllers();//这里添加数据库的连接//在 ASP.NET Core 中,服务(如数据库上下文)必须向依赖关系注入 (DI) 容器进行注册。 该容器向控制器提供服务。//注册数据库上下文services.AddDbContext<TodoContext>(opt =>opt.UseInMemoryDatabase("TodoList"));services.AddSwaggerGen();services.AddSwaggerGen(c =>{c.SwaggerDoc("v1", new OpenApiInfo { Title = "TodoApi20241005", Version = "v1" });});}// Second Called// This method gets called by the runtime. Use this method to configure the HTTP request pipeline.public void Configure(IApplicationBuilder app, IWebHostEnvironment env){if (env.IsDevelopment()){app.UseDeveloperExceptionPage();app.UseSwagger();app.UseSwaggerUI(c => c.SwaggerEndpoint("/swagger/v1/swagger.json", "TodoApi20241005 v1"));}app.UseRouting();app.UseAuthorization();app.UseEndpoints(endpoints =>{endpoints.MapControllers();});}}
}
  1. 然后就大功告成了,整个教程就这部分无法与.NET 5.0 兼容。因为是在不同的类文件里了。

http://www.ppmy.cn/ops/144321.html

相关文章

半导体制造技术导论(第二版)萧宏 第十二章 化学机械研磨工艺

本章要求 1.列出化学机械研磨工艺的应用 化学机械研磨是一种移除工艺技术&#xff0c;结合化学反应和机械研磨去除沉积的薄膜&#xff0c;使表面更加平滑和平坦&#xff1b;也用于移除表面上大量的电介质薄膜&#xff0c;并在硅衬底上形成浅沟槽隔离STI&#xff1b;还可以从晶圆…

基于RocksDB编写一个简单的SQL数据库|得物技术

一、前言 数据库DBMS是当前互联网开发者最熟悉的基础设施之一&#xff0c;很多后端开发者的入门项目就是一个简单的基于MySQL的数据管理系统。笔者一直想自己编写一个简单的SQL数据库&#xff0c;正好最近正在学习RocksDB和Zig语言的内容&#xff0c;就想利用这个机会作为学习…

List深拷贝后,数据还是被串改

List深拷贝后数据还是被串改 List newList new ArrayList<>(oldList)newList.pushAll(oldList)你甚至想到了java8streamAPI以上还不行 List newList new ArrayList<>(oldList) 这是采用构造参数做到的深拷贝&#xff0c;是没问题的 newList.pushAll(oldList) …

docker打包镜像并迁移:如何从A服务器打包docker镜像到B服务器上容器中运行

1.在A服务器上&#xff0c;查看docker镜像 docker images会显示当前的服务器上已有的镜像 2.在A服务器上&#xff0c;将所需要的镜像打包 docker save -o shuai_docker.tar xxx(镜像名):vxx(镜像版本)会出现&#xff1a;xxxxx:Loading layer [>] xxkB/xxkB字样 3.将shua…

C++打造局域网聊天室第十二课: 客户端和服务端的切换

文章目录 前言一、补充说明二、客户端和服务端身份状态的切换三、点击关闭窗口按钮总结 前言 C打造局域网聊天室第十二课&#xff1a; 客户端和服务端的切换 一、补充说明 在C打造局域网聊天室第十一课&#xff1a; 程序关闭及线程的结束中描述的服务端线程的关闭和结束是存在…

了解 SpringMVC 请求流程

文章目录 1. Spring 基础 - SpringMVC 请求流程1.1 引入1.2 什么是 MVC1.3 什么是 Spring MVC1.4 请求流程核心架构的具体流程步骤补充 1.5 案例**Maven 包引入****业务代码的编写**DaoServiceControllerwebapp 下的 web.xmlspringmvc.xmlJSP 视图 2. Spring 进阶 - Dispatcher…

C语言:排序

1. 插入排序 (Insertion Sort) 插入排序是一种简单直观的排序算法&#xff0c;它的工作原理类似于整理扑克牌。它的基本思想是将数组分为已排序部分和未排序部分&#xff0c;每次从未排序部分取出一个元素&#xff0c;插入到已排序部分的合适位置。 步骤&#xff1a; 从数组…

基于知识图谱的医疗问答系统(dockerfile+docker-compose)

文章目录 一、搭建 Neo4j 图数据库1、方式选择2、Dockerfiledocker-compose部署neo4j容器2.1、更新 yum 镜像源2.2、安装 docker-ce 社区版2.3、配置镜像加速2.4、安装 Docker Compose2.4.1、下载 Docker Compose 二进制包2.4.2、设置可执行权限2.4.3、查看版本 2.5、创建目录结…