You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在Emacs中调试C#/.NET项目?dap-mode报错求助

解决Emacs dap-mode调试.NET Core提示未加载coreclr包的问题

修复当前Emacs配置问题

你的配置存在加载顺序和版本匹配问题,按以下步骤调整:

  1. 调整配置结构,确保dap-netcore正确加载
    把dap-netcore的配置整合到use-package体系中,保证加载顺序和初始化逻辑正确:

    (unless (package-installed-p 'dap-mode)
      (package-refresh-contents)
      (package-install 'dap-mode))
    
    (use-package dap-mode
      :ensure t
      :config
      (require 'dap-netcore)
      (dap-netcore-setup)) ; 手动触发coreclr调试适配器初始化
    
    (use-package dap-netcore
      :ensure t
      :custom
      ; 替换为适配.NET 6的netcoredbg版本下载链接
      (dap-netcore-download-url "https://github.com/Samsung/netcoredbg/releases/download/6.0.101-1159/netcoredbg-win64.zip")
      (dap-netcore-install-dir "C:\\netcoredbg"))
    
    (dap-register-debug-template
     "C# .NET Core Launch"
     (list :type "coreclr"
           :request "launch"
           :name "C# .NET Core Launch"
           :program "${workspaceFolder}/bin/Debug/net6.0/MyApplication.dll"
           :cwd "${workspaceFolder}"
           :stopAtEntry nil
           :env (list "ASPNETCORE_ENVIRONMENT" "Development")))
    
  2. 匹配netcoredbg与.NET版本
    你当前调试的是.NET 6项目,但使用的netcoredbg是3.1.2版本,版本不兼容会导致适配器无法正常注册。必须下载与目标.NET版本匹配的netcoredbg安装包。

  3. 验证netcoredbg安装有效性
    打开命令行,进入C:\netcoredbg目录,执行:

    netcoredbg --version
    

    若能正常输出版本信息,说明安装成功;若报错,重新下载解压,确保路径无中文或特殊字符。

替代调试方案(不限工具)

如果Emacs配置仍有问题,可尝试以下更简便的方式:

  • VS Code + 官方C#插件:安装VS Code后添加官方C#插件,打开项目会自动生成.vscode/launch.json调试配置,按F5即可启动调试,支持断点、变量查看等全套调试功能。
  • dotnet CLI + 系统调试器:在项目目录执行dotnet build后,用dotnet run --debug启动程序,再用WinDbg(Windows)或lldb(Linux/macOS)附加到进程进行调试。

内容的提问来源于stack exchange,提问作者cali

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.13 18:46:02