【问题标题】:Visual Studio Code debugger: launch.json The property 'program' is invalidVisual Studio Code 调试器:launch.json 属性“程序”无效
【发布时间】:2016-09-04 16:41:13
【问题描述】:

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

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

3. 扩展:为了调试它,我安装了 OmniSharp 的扩展。然后使用 Visual Studio Code 的“调试器”选项,我添加了 launch.jsontask.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 (console) 进行调试时,我收到以下错误:

"launch: 'program' 属性无效。'/home/ak/dotnet_core/hwAppCore2/bin/Debug/netstandardapp1.5/hwAppCore2.dll' 是库 (.dll),不是程序。”

我也关注了Channel 9 demo 之一,我还可以看到为 launch.json

的程序属性配置的 hwapp.dll

我不确定,我是否缺少要配置的内容?

【问题讨论】:

  • 您应该使用参数run <path to dll> 启动dotnet
  • 我可以使用dotnet run 从终端正确运行我的应用程序,但是我遇到了来自 vscode 的调试选项问题。
  • 我将launch.json的程序属性中的路径更新为“程序”:“${workspaceRoot}/bin/Debug/netstandardapp1.5/ubuntu.14.04-x64/hwAppCore2”-(添加文件夹ubuntu.14.04-x64 并删除 .dll) 并正确启动调试。这是正确的方法吗?

标签: visual-studio-code .net-core omnisharp


【解决方案1】:

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

@gregg-miskelly 提供的解决方案路径,请按照路径 1 进行日常构建,以获得对我的问题的确切答案,以及按照之前评论的推荐构建路径 2。

【讨论】:

  • 另外,最新的 RC2 支持调试。请相应升级最新的 RC2。
【解决方案2】:

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

  • 安装 C# extension 和 .NET 调试器(Ctrl + Shift + P,“下载 .NET Core 调试器”)
  • 打开您的项目文件夹 - 它应该会提示您添加构建任务
    • (创建.vscode > tasks.json
  • 从侧边栏打开“调试”选项卡,单击“设置”按钮,然后选择“.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 以获取最新包
  • 开始调试!

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2016-04-16
    • 2018-02-16
    • 1970-01-01
    • 1970-01-01
    • 2018-01-08
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多