4

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)进行调试时,我收到以下错误:

“启动:属性‘程序’无效。‘/home/ak/dotnet_core/hwAppCore2/bin/Debug/netstandardapp1.5/hwAppCore2.dll’是库 (.dll),而不是程序。”

我还关注了Channel 9 demo之一,在那里我还可以看到为 launch.json 的程序属性配置的hwapp.dll

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

4

2 回答 2

1

要让 VS Code 调试 .NET Core 网站,您必须跳过几个环节。相关步骤(来自此博客文章演练)是:

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

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

@gregg-miskelly提供的解决方案路径,按照路径 1 进行日常构建,以准确回答我的问题是什么,按照之前的评论,推荐构建的路径 2。

于 2016-05-11T04:16:29.793 回答