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项目了。

相关推荐
Eiceblue1 小时前
使用 C# 将 Excel 转换为 Markdown 表格(含批量转换示例)
开发语言·c#·excel
不会编程的懒洋洋3 小时前
WPF XAML+布局+控件
xml·开发语言·c#·视觉检测·wpf·机器视觉·视图
唐青枫3 小时前
别再层层传参了!C#.NET AsyncLocal 异步上下文透传实战
c#·.net
EvenBoy3 小时前
IDEA中使用CodeX
java·ide·intellij-idea
时光之源4 小时前
Visual Studio | Marketplace创建发布者(Create Publisher)时无法创建的问题解决方案
ide·vscode·visual studio·plugin·cursor
Aray12344 小时前
VS Code 中使用 Claude Code 调用 GPUStack 本地大模型及 ECC 安装教程
vscode·ecc·gpustack·claude code
明如正午4 小时前
【C#】托管调试助手 “PInvokeStackImbalance“:的调用导致堆栈不对称。原因可能是托管的 PInvoke 签名与非托管的目标签名不匹配。
c#
Eiceblue5 小时前
C# 如何实现 Word 转 Excel ?分享两种实用方法
c#·word·excel
天才少女爱迪生5 小时前
word格式规范检测+自动修改【python】
python·c#·word
用户3721574261356 小时前
如何使用 C# 转换 PowerPoint 为 HTML:完整指南
c#