当前位置: 首页 > news >正文

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

项目路径是:E:\Vs_Project\WebAPIVSCode

2.3 VS Code打开

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

2.4 创建json配置

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

launch.json 的内容如下:

{
    // 使用 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的内容如下:

{
    "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来快速提升编程能力?
  • 自然语言处理:稀疏向量表示
  • ASP.NET MVC AJAX 文件上传
  • OpenCV计算摄影学(6)高动态范围成像(HDR imaging)
  • 网站漏洞查找渗透测试攻防演练
  • 【easy视频 | day01】项目了解 + 登录注册 + 使用 token 作为客户端请求令牌
  • MySQL—Keepalived+MySQL双主复制实现MySQL高可用
  • 基于Rook的Ceph云原生存储部署与实践指南(上)
  • 第九章:多模态大语言模型
  • NL2SQL的应用-长上下文模型在处理NL2SQL任务时,相较于传统模型,有哪些显著的优势
  • CSS 日常开发常用属性总结
  • 数据结构:Top-K问题详解
  • AIGC和搜索引擎的异同
  • 在VSCode中使用MarsCode AI最新版本详解
  • drupal的导入的item-list在哪里查看
  • Java 面试题 20250227
  • 工业AR眼镜的‘芯’动力:FPC让制造更智能【新立电子】
  • PMP项目管理—整合管理篇—4.管理项目知识
  • P8772 [蓝桥杯 2022 省 A] 求和
  • Windows下安装redis-6.2版本及步骤
  • 新冠阳性率升高,专家:新冠变异株致病力没太多变化
  • 半数以上中国人都缺这几种营养,吃什么能补回来?
  • 广东信宜一座在建桥梁暴雨中垮塌,镇政府:未造成人员伤亡
  • 19国入境团抵沪并游玩,老外震惊:“怎么能有这么多人?”
  • 俄乌刚谈完美国便筹划与两国领导人通话,目的几何?
  • 蔡建忠已任昆山市副市长、市公安局局长