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",

Вам нужно изменить значение программы, как оно напомнило

Другие вопросы по тегам