Visual Studio代码编译错误 - 必须配置launch.json

时间:2016-11-24 18:58:35

标签: c# visual-studio-code

我正在尝试使用visual studio代码在Windows 7上编译c#代码。我已下载所有扩展程序但收到此错误:

  

启动:程序'启动:必须配​​置launch.json。改变计划'到您要调试的可执行文件的路径。

我无法弄清楚如何修复它。这是我认为需要在launch.json文件中更改的行,这是目前的情况:

  

" program":" $ {workspaceRoot} /bin/Debug/netcoreapp1.0/exam 1.dll"

(考试1,因为这是我的.cs文件的名称,包含我的C#代码)

当我进入我的.cs文件所在的文件夹时,这就是整个路径:

  • " C:\ Users \ Kdrumz \ Desktop \ ObjectOriented \ exam 1.cs"。

我很困惑。另外,在使用visual studio代码时,我是否总是必须这样做?非常感谢任何帮助!

使用Visual Studio代码的1.7.1版

4 个答案:

答案 0 :(得分:13)

我通过替换launch.json中的所有"<>" -styled值来修复它(项目名称' sample01'在我的情况下) :

{
    "version": "0.2.0",
    "configurations": [
        {
            "name": ".NET Core Launch (console)",
            "type": "coreclr",
            "request": "launch",
            "preLaunchTask": "build",
            "program": "${workspaceRoot}/bin/Debug/netcoreapp1.0/sample01.dll",
            "args": [],
            "cwd": "${workspaceRoot}",
            "stopAtEntry": false,
            "externalConsole": false
        }
    }
}

如您所见,我只使用1个名为" .NET Core Launch(控制台)"的配置。您可以更改此名称,当您单击最左侧的调试菜单(带有错误符号的调试菜单)时,您将看到它,并查看最顶层的名称。

现在我进入了build-config的完整路径(在我的示例中是.NET Core 1.0)并且它可以工作。

所以是的,如果预先配置了"<>" -elements,则必须手动完成。如果您使用dotnet new然后code .来启动新项目,则新版本的Visual Studio Code将立即创建可立即运行的launch.json

答案 1 :(得分:1)

对于仍然遇到此问题的人:

  1. 在开始调试前打开Program.cs文件
    • 打开任何.cs文件会触发C#扩展名。
  2. 然后,扩展程序会询问它是否可以加载构建资产。点击是。
    • 加载Omnisharp可能需要几秒钟
    • 如果launch.jsontasks.json尚未添加到项目中,则只会询问此情况。
  3. 然后,该扩展程序会为您配置launch.jsontasks.json
  4. 对于有兴趣的人,有https://jsfiddle.net/soljohnston777/138tsgs7/跟踪此行为。

答案 2 :(得分:0)

1)在资源管理器(Windows)或Finder(Mac)中打开项目目录/文件夹。

2)转到bin/Debug/netcoreapp{version}/{projectName}.dll并确保复制主项目DLL的绝对路径和完整路径,并将其作为值添加到program内的所有launch.json元素。< / p>

确保更改launch.json(console / web)

中所有部分中的所有程序元素
{
...
...
"program": "/Users/msoliman/Workspace/ProjectName/bin/Debug/netcoreapp1.0/MyProject.dll",
...
...
}

答案 3 :(得分:0)

如果在您单击运行并调试HTML文件时弹出窗口显示类似launch.json 首先,您将在cmd中运行 ng服务

成功编译后,您可以看到 localhost:4200 这样的URL,您必须在launch.json文件中将该URL匹配。

不要关闭应该在后台运行的cmd。