C#-VS代码-launch:program ...不存在

时间:2018-09-18 17:31:28

标签: c# .net visual-studio-code omnisharp

我正在尝试在VS Code中调试一个简单的“ Hello world”应用程序,但是,当我按Ctrl + F5时,它给了我以下错误:

enter image description here

如果我从以下位置手动更改launch.json中的路径:

${workspaceFolder}/bin/Debug/insert-target-framework-here/insert-project-name-here.dll

收件人:

"${workspaceFolder}/bin/Debug/netcoreapp2.1/test.dll"

它确实可以工作,但是在没有我手动输入路径的情况下它还可以正常工作。另外,我注意到VS Code不再像以前那样要求重建资产:

enter image description here

到目前为止,我已经尝试了以下方法:

先卸载VS Code,然后再安装.NET Core 2.1,然后从%USER%\。vscode \中删除VS Code扩展文件夹,重新安装VS Code,然后再安装.NET Core 2.1,然后再安装C#扩展名(对于Visual Studio为C#代码(由OmniSharp提供支持)。

当VS Code启动时,它确实会成功下载“ OmniSharp”软件包,但是,当我打开C#文件时,仍然没有提示重建资产。调试产生了与以前相同的问题。

这是launch.json:

"version": "0.2.0",
"configurations": [
    {
        "name": ".NET Core Launch (console)",
        "type": "coreclr",
        "request": "launch",
        "preLaunchTask": "build",
        "program": "${workspaceFolder}/bin/Debug/<insert-target-framework-here>/<insert-project-name-here>.dll",
        "args": [],
        "cwd": "${workspaceFolder}",
        "console": "internalConsole",
        "stopAtEntry": false,
        "internalConsoleOptions": "openOnSessionStart"
    }

还有task.json:

    "version": "2.0.0",
"tasks": [
    {
        "label": "build",
        "command": "dotnet build",
        "type": "shell",
        "group": "build",
        "presentation": {
            "reveal": "silent"
        },
        "problemMatcher": "$msCompile"
    }
]
}

9 个答案:

答案 0 :(得分:1)

我找到了对我有用的解决方案。 我的VS代码给了我相同的错误消息,而我所做的修复是:

- Press the combination Ctrl + Shift + P
- Restart Omnisharp
- Then it asks if you want to add missing files for build.
- Click Yes.

此后,我就可以调试我的应用了。

希望它对您有用!

答案 1 :(得分:1)

在项目文件夹(在VS中打开)中访问 \ bin \ Debug \ netcoreapp3.1

转到VS中的launch.json文件:

替换: “程序”:“ $ {workspaceFolder} / bin / Debug //。dll”,

使用: “程序”:“ $ {workspaceFolder} /bin/Debug/netcoreapp3.1 / CSharp。dll”,

在某些情况下,该项目称为CSharp。提防。

答案 2 :(得分:0)

由于您已经用“ <”和“>”标记了“ .dll”,这意味着您已为其赋予了一个值。 最简单的方法是在VSCode中打开项目,然后使用find&replace替换以下内容: 我确实相信您的项目名称:按照.dll名称进行“测试”

答案 3 :(得分:0)

找不到任何解决方案,只能切换到MS Visual Studio

答案 4 :(得分:0)

像这样Gist

配置您的Launch.json

并且不需要Tasks.json,您可以按F5来构建或配置它自己,当您按F5时应在默认shell中对其运行命令

答案 5 :(得分:0)

// "program": "${workspaceFolder}/bin/Debug/<insert-target-framework-here>/<insert-project-name-here>.dll",
   "program": "${workspaceFolder}/bin/Debug/netcoreapp3.1/csharp_multi_threads.dll",

您需要根据提示更改程序值

答案 6 :(得分:0)

我有一个相同的错误。调试器正在${workspaceFolder}/bin/Debug/netcoreapp3.1/myApp.dll中查找.dll文件,但该文件位于${workspaceFolder}/bin/MCD/Debug/netcoreapp3.1/tradeAppl.dll

将launch.json文件更改为读取后

...
"program": "${workspaceFolder}/bin/MCD/Debug/netcoreapp3.1/tradeAppl.dll",
...

我能够毫无问题地调试应用程序。

答案 7 :(得分:0)

-右键单击项目名称并在资源管理器中单击显示 - 在文件夹名称后复制资源管理器中的 URL 例如我的文件夹地址是 D:\IOT\Projects\LWSIOT_WebApiWM2\LWSIOT_WebApiWM2\LWSIOT_WebApiWM2\bin\Debug\netcoreapp3.1\LWSIOT_WebApiWM2.dll 在 Launch.json 中: ${workspaceFolder}/LWSIOT_WebApiWM2/LWSIOT_WebApiWM2/bin/Debug/netcoreapp3.1/LWSIOT_WebApiWM2.dll - 在“程序”上粘贴 Launch.json:“” -点击调试就OK了

答案 8 :(得分:0)

在 launch.json 中,替换:

"program": "${workspaceFolder}/Api/bin/Debug/netcoreapp3.1/Api.dll",

与:

"program": "${workspaceFolder}/Api/bin/linux/Debug/netcoreapp3.1/Api.dll"

由于我在 Linux 机器上运行代码,所以我应该提供 Linux 文件夹的路径