Visual Studio 代码调试器:launch.json 属性 'program' 无效

Visual Studio Code debugger: launch.json The property 'program' is invalid

1. 设置:我已经在我的 Ubuntu 上安装了 Visual Studio 代码,并安装了 .NET Core 和 Mono。

2. 初始配置:我创建了一个简单的演示应用程序 运行 notnet restoredotnet run。这可以正常工作并在终端上显示 "Hello World!"。

3. 扩展:为了调试它,我安装了 OmniSharp 的扩展。然后使用 Visual Studio 代码的 "Debugger" 选项,我添加了 launch.json & task.json .

4. launch.json(仅显示配置部分):

....
"configurations": [
    {
        "name": ".NET Core Launch (console)",
        "type": "coreclr",
        "request": "launch",
        "preLaunchTask": "build",
        "program": "${workspaceRoot}/bin/Debug/netstandardapp1.5/hwAppCore2.dll",
        "args": [],
        "cwd": "${workspaceRoot}",
        "stopAtEntry": false
    }    
....

5. 现在,当 运行 来自终端时它工作正常,但是当尝试使用选项 进行调试时。NET Core Launch(控制台) 我收到以下错误:

"launch: The property 'program' is invalid. '/home/ak/dotnet_core/hwAppCore2/bin/Debug/netstandardapp1.5/hwAppCore2.dll' is a library (.dll), not a program."

我也关注了 Channel 9 demo 中的一个,在那里我也可以看到 hwapp.dll 为 launch.json[=46= 的程序 属性 配置]

我不确定,我是否缺少任何配置?

我在 OmniSharp on GitHub 提出问题后得到了解决方案。

@gregg-miskelly 提供的解决方案路径,每日构建遵循路径 1 以获得我的问题的确切答案,推荐构建的路径 2 与之前一样有效评论。

要使用 VS Code 调试 .NET Core 网站,您必须跳过几个环节。相关步骤(来自this blog post walkthrough)是:

  • 安装 C# extension 和 .NET 调试器 (Ctrl + Shift + P, "Download .NET Core Debugger")
  • 打开您的项目文件夹 - 它会提示您添加构建任务
    • (创建 .vscode > tasks.json
  • 从侧边栏打开“调试”选项卡,单击 'Settings' 按钮,然后选择“.NET Core”
    • (创建 .vscode > launch.json)具有 3 种配置 - "console"、"web" 和 "attach".
  • 打开 launch.json 文件并编辑 "web" 配置的 program 值 - 将 <> 占位符替换为您的特定值(例如 netcoreapp1.0MyProject.dll).
    • (这是 OP 需要执行的步骤)
    • 出于某种原因,VS Code 不处理 Web 项目的占位符...我还没有找到任何文档/解释为什么
  • 编辑 project.json 文件 - 在 buildOptions 下,添加 "debugType" : "portable"
  • 运行 dotnet restore 在你的项目上获取最新的包
  • 开始调试!