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

相关推荐
AI.NET 极客圈1 小时前
AI与.NET技术实操系列(四):使用 Semantic Kernel 和 DeepSeek 构建AI应用
人工智能·.net
『六哥』1 小时前
Windows 10 如何设置右击鼠标快速进行“关机”
windows·经验分享·编辑器
步木木2 小时前
Anaconda和Pycharm的区别,以及如何选择两者
ide·python·pycharm
源之缘-OFD先行者2 小时前
GMap.NET + WPF:构建高性能 ADS-B 航空器追踪平台
.net·wpf·ads-b
勘察加熊人3 小时前
forms实现俄罗斯方块
c#
只是橘色仍温柔4 小时前
xshell可以ssh连接,但vscode不行
运维·vscode·ssh
艾妮艾妮6 小时前
C语言常见3种排序
java·c语言·开发语言·c++·算法·c#·排序算法
SHtop117 小时前
Eclipse IDE
ide·eclipse
小码编匠7 小时前
.NET 验证码生成神器基于 SkiaSharp 的高性能方案
后端·c#·.net