VSCode轻松调试运行.Net 8.0 Web API项目

1.背景

我一直都是用VS来开发.NetCore项目的,用的比较顺手,也习惯了。看其他技术文章有介绍VS Code更轻量,更方便。所以我专门花时间来使用VS Code,看看它是如何调试代码、如何运行.Net 8.0 WebAPI项目。这篇文章是一个记录的过程。

2.操作

2.1 VS Code插件

我的VS Code已经安装了C#相关插件。截图如下:

2.2 准备一个.Net 8.0 Web API项目

cs 复制代码
项目路径是:E:\Vs_Project\WebAPIVSCode

2.3 VS Code打开

VS Code按照项目路径(E:\Vs_Project\WebAPIVSCode)打开,如下图

2.4 创建json配置

鼠标点 Run And Debug,按照下图操作来创建配置

launch.json 的内容如下:

cs 复制代码
{
    // 使用 IntelliSense 了解相关属性。 
    // 悬停以查看现有属性的描述。
    // 欲了解更多信息,请访问: https://go.microsoft.com/fwlink/?linkid=830387
    "version": "0.2.0",
    "configurations": [  
        {
            "name": "debugTest01",//这是调试配置的名称,在 Visual Studio Code 中将显示此名称。
            "type": "coreclr",//指定调试器类型为 .NET Core。
            "request": "launch",//指定启动调试会话的方式。
            "preLaunchTask": "build",
            "program": "${workspaceFolder}/WebAPIVSCode/bin/Debug/net8.0/WebAPIVSCode.dll",//指定要调试的应用程序的路径。请确保路径和文件名与实际的应用程序输出目录和文件名匹配。
            "cwd": "${workspaceFolder}",//指定工作目录为项目文件夹[Content root path: D:\ASP.NETCoreTest]
            "requireExactSource": false,//注意十分的重要,是否要求精确匹配源代码。如果设置为 true,则要求精确匹配。如果设置为 false,则允许从其他位置加载源代码。
            "env": {
                "ASPNETCORE_ENVIRONMENT": "Development"//在调试期间设置环境变量 ASPNETCORE_ENVIRONMENT 的值为 "Development"。这对于在开发环境中调试应用程序很有用。[Information: Hosting environment: Development]
            }
        }
    ]
}

并按照下图 新增 tasks.json

tasks.json的内容如下:

cs 复制代码
{
    "version": "2.0.0",
    "tasks": [
        {
            "label": "build",
            "command": "dotnet",
            "type": "process",
            "args": [
                "build",
                "${workspaceFolder}"
            ],
            "problemMatcher": "$msCompile"
        }
    ]
}

2.5 项目运行

键盘按下 F5 项目就运行起来了

因为是Web API项目,我们可以访问 swagger界面(http://localhost:5000/swagger/index.html)看下程序是不是正常运行的

如上图可见。程序是正常执行的。

2.6 项目断点调试

按照如下 修改代码,并加入断点。

键盘按下 F5 项目就运行起来了

在swagger界面上按照如下操作去调用刚刚新增的post接口 ,程序进入断点:

从上图可以看到,程序执行到断点处。是我们想要的调试效果。

3.结论

至此。我们就学会了如何用VS Code调试 运行.Net 8.0 Web API项目了。

相关推荐
小羊没烦恼!3 天前
微服务化的基石——持续集成
java·大数据·word·powerpoint·.net
小羊没烦恼!3 天前
初探性能优化——2个月到4小时的性能提升
java·开发语言·windows·算法·c#
神仙别闹3 天前
基于C#+MySQL实现(WinForm)个人聊天室软件
c#
kybs19913 天前
全球灾害数据分析可视化 毕业设计-附源码66794
vue.js·spring boot·mysql·安全·django·c#·asp.net
2501_915909063 天前
移动端开发工具链怎么组合比较好,iOS、Android、跨端三套配置方案
ide·vscode·ios·objective-c·个人开发·swift·敏捷流程
Polevne3 天前
C# SFTP客户端实现文件传输
c#·ssh
samble3 天前
从零搭建灌装监控系统(四):深色主题与样式系统,ResourceDictionary 统一管理
c#·wpf·mvvm·样式·工业控制
_Jonas3 天前
.net framework开发环境正式环境配置文件的切换
.net·wpf
weixin_464078073 天前
ppt转为draw.io方法
编辑器
sunoo-2293 天前
【ARM嵌入式学习笔记Day6】一文打通i.MX6ULL时钟体系:PLL/PFD/预分频+滞回比较器全解析
arm开发·笔记·vscode·单片机·imx6ull·汇编语言