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

news/2024/12/23 7:32:12/

前言

因为我本机安装的是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/news/1557406.html

相关文章

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…

CPU性能优化--前端优化

绝大部分时候&#xff0c;CPU前端低效可以描述为这样一种情况&#xff0c;后端在等待指令来执行&#xff0c;但是前端不能给后端提供指令。结果就是&#xff0c;没有做任何有意义的工作&#xff0c;CPU时钟周期被浪费了。因为现代处理器是4发射的&#xff0c;所以会有这样一种情…

【漏洞复现】CVE-2023-37461 Arbitrary File Writing

漏洞信息 NVD - cve-2023-37461 Metersphere is an opensource testing framework. Files uploaded to Metersphere may define a belongType value with a relative path like ../../../../ which may cause metersphere to attempt to overwrite an existing file in the d…

微信小程序实现画板画布自由绘制、选择画笔粗细及颜色、记录撤回、画板板擦、清空、写字板、导出绘图、canvas,开箱即用

目录 画板创建canvas绘制及渲染画笔粗细功能实现画笔颜色选择画笔痕迹撤回、板擦、画布清空canvas解析微信小程序中 canvas 的应用场景canvas 与 2D 上下文、webgl 上下文的关系图像的加载与绘制说明代码说明画板创建 canvas绘制及渲染 在wxml添加对应的canvas标签代码,并在j…

分布式协同 - 分布式事务_TCC解决方案

文章目录 导图Pre流程图2PC VS 3PC VS TCC2PC&#xff08;Two-Phase Commit&#xff0c;二阶段提交&#xff09;3PC&#xff08;Three-Phase Commit&#xff0c;三阶段提交&#xff09;TCC&#xff08;Try-Confirm-Cancel&#xff09;2PC、3PC与TCC的区别2PC、3PC与TCC的联系 导…

函数:参数与返回值类型

本文我们将深入探讨 函数的参数和返回值类型&#xff0c;这是 TypeScript 中最常用的特性之一。了解如何为函数参数和返回值添加类型&#xff0c;不仅能帮助你避免常见的错误&#xff0c;还能提高代码的可读性和可维护性。 在 JavaScript 中&#xff0c;函数的参数和返回值是没…

2024年智能船舶与机电系统

重要信息 会议官网&#xff1a;www.icises.org 会议时间&#xff1a;2024年12月27-29日 会议地点&#xff1a;中国广州 大会 2024年智能船舶与机电系统&#xff08;ICISES 2024&#xff09;初定于2024年12月27-29日在中国广州举行。会议主要围智能船舶与机电系统等研究领域…

RF分类-随机森林(Random Forest)

RF分类详细介绍 源码 什么是RF分类&#xff1f; RF分类&#xff08;随机森林分类&#xff09;是一种集成学习方法&#xff0c;基于**随机森林&#xff08;Random Forest&#xff09;**算法&#xff0c;用于解决分类和回归问题。随机森林通过构建多个决策树并结合它们的预测结…