C# - VS Code - запуск: программа... не существует
Я пытаюсь отладить простое приложение "Hello world" в VS Code, однако, когда я нажимаю 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, удалили папку расширения VS Code из%USER%\. Vscode \, переустановили VS Code, затем.NET Core 2.1, а затем расширение C# (C# для кода Visual Studio (питание от OmniSharp)).
Когда код VS запускается, он успешно загружает пакет "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"
}
И задачи. Json:
"version": "2.0.0",
"tasks": [
{
"label": "build",
"command": "dotnet build",
"type": "shell",
"group": "build",
"presentation": {
"reveal": "silent"
},
"problemMatcher": "$msCompile"
}
]
}
Дайте мне знать, если я должен предоставить больше информации. Любая помощь будет оценена.
10 ответов
Не нашел никакого решения, кроме как перейти на MS Visual Studio
Я нашел решение, которое сработало для меня. Мой VS-код давал мне то же сообщение об ошибке, и я исправил его:
- Press the combination Ctrl + Shift + P
- Restart Omnisharp
- Then it asks if you want to add missing files for build.
- Click Yes.
После этого я смог отладить свое приложение.
Надеюсь, это работает для вас!
У меня была такая же ошибка. Отладчик искал файл.dll в${workspaceFolder}/bin/Debug/netcoreapp3.1/myApp.dll
но файл находился в ${workspaceFolder}/bin/MCD/Debug/netcoreapp3.1/tradeAppl.dll
После изменения файла launch.json на чтение
...
"program": "${workspaceFolder}/bin/MCD/Debug/netcoreapp3.1/tradeAppl.dll",
...
Мне удалось отладить приложение без проблем.
Посетите ваш \bin\Debug\netcoreapp3.1 в папке проекта (которую вы открываете в VS)
Перейдите в файл launch.json в VS:
Заменить: "program": "${workspaceFolder}/bin/Debug//. Dll",
С помощью: "program": "$ {workspaceFolder} /bin/Debug/netcoreapp3.1/CSharp
.dll ",
В некоторых случаях проект называется CSharp
. Осторожно.
Настройте свой Launch.json как этот Gist
И нет необходимости в Tasks.json, вы можете нажать F5 для самостоятельной сборки или настройки того, какая команда должна запускаться в оболочке по умолчанию при нажатии F5
В launch.json замените:
"program": "${workspaceFolder}/Api/bin/Debug/netcoreapp3.1/Api.dll",
с:
"program": "${workspaceFolder}/Api/bin/linux/Debug/netcoreapp3.1/Api.dll"
Поскольку я запускал код на машине Linux, я должен был указать путь к папке Linux.
Должна быть проблема с путем к dll в
program
собственность
launch.json
файл.
В моем случае он все еще содержал старую версию .net core framework после обновления версии.
- Щелкните правой кнопкой мыши имя проекта и нажмите «Показать в проводнике» - Скопируйте 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 в «Программу»: «<Your_Address>» - Нажмите «Отладка» и все в порядке
Поскольку у вас есть:". Dll" с символами "<" и ">", это означает, что вы должны дать ему значение. Самый простой способ сделать это - открыть проект в VSCode и использовать команду find&replace для замены: на имя вашего проекта, которое я считаю его: "test" согласно имени.dll
// "program": "${workspaceFolder}/bin/Debug/<insert-target-framework-here>/<insert-project-name-here>.dll",
"program": "${workspaceFolder}/bin/Debug/netcoreapp3.1/csharp_multi_threads.dll",
Вам нужно изменить значение программы, как оно напомнило