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

时间:2016-05-09 21:52:02

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

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

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

3. 扩展:为了调试这个,我安装了 OmniSharp 的扩展名。然后使用" Debugger" Visual Studio Code的选项,我添加了 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(控制台)选项进行调试时,我收到以下错误:< / p>

&#34;发布:该属性&#39;程序&#39;是无效的。 &#39; /home/ak/dotnet_core/hwAppCore2/bin/Debug/netstandardapp1.5/hwAppCore2.dll'是一个图书馆(.dll),而不是一个程序。&#34;

我也跟着Channel 9 demo之一,我也可以看到为 launch.json

的程序属性配置了hwapp.dll

我不确定,我错过了配置的任何内容吗?

2 个答案:

答案 0 :(得分:1)

您必须跳过几个箍才能获得VS Code调试.NET Core网站。相关步骤(来自this blog post walkthrough)是:

  • 安装C# extension和.NET调试器( Ctrl + Shift + P ,&#34;下载.NET核心调试器&#34;)
  • 打开项目文件夹 - 它应该提示您添加构建任务
    • (创建.vscode > tasks.json
  • 从侧边栏中打开“调试”标签,点击“设置”按钮。按钮,然后选择&#34; .NET Core&#34;
    • (创建.vscode > launch.json)包含3个配置 - &#34; console&#34;,&#34; web&#34;和&#34; attach&#34;。
  • 打开launch.json文件并编辑&#34; web&#34;配置的program值 - 将<>占位符替换为您的特定值(例如netcoreapp1.0MyProject.dll)。
    • (这是OP需要做的步骤)
    • 由于某些原因,VS Code无法处理网页项目的占位符......我还没有找到任何文档/解释原因
  • 修改project.json文件 - 在buildOptions下,添加"debugType" : "portable"
  • 在项目上运行dotnet restore以获取最新的包
  • 开始调试!

答案 1 :(得分:0)

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

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