我正在尝试在VS Code中调试一个简单的“ Hello world”应用程序,但是,当我按Ctrl + F5时,它给了我以下错误:
如果我从以下位置手动更改launch.json中的路径:
${workspaceFolder}/bin/Debug/insert-target-framework-here/insert-project-name-here.dll
收件人:
"${workspaceFolder}/bin/Debug/netcoreapp2.1/test.dll"
它确实可以工作,但是在没有我手动输入路径的情况下它还可以正常工作。另外,我注意到VS Code不再像以前那样要求重建资产:
到目前为止,我已经尝试了以下方法:
先卸载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"
}
]
}
答案 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:“
答案 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 文件夹的路径