Мое расширение C# (официальное от Microsoft) пытается запустить проект, что вызывает непонятную ошибку. Вероятно, мне нужно изменить это поведение (Run/ Кнопка «Отладка проекта»), поэтому он использует определенную конфигурацию из launch.settings
Я использую эту библиотеку для запуска VS Code на моем сервере Ubuntu. Я (вручную) установил расширения для всех своих языков программирования, включая C#.
Расширение C# корректно работает с подсветкой синтаксиса и автодополнением, но не позволяет запустить проект.< /p>
Каждый раз, когда я пытаюсь запустить его (используя кнопку воспроизведения, добавленную расширением), я получаю это непонятное сообщение об ошибке «невозможно проанализировать: тип [json.Exception.type_error.302] должен быть массив, но является строкой".
Поиграв немного, я обнаружил, что могу запустить проект, используя конфигурацию launch.json с командой отладки, и это в некоторой степени работает ( В строке поиска я пишу «отладка», и он автоматически завершается «Запуском отладки .Net Core»).
Он запускает мое консольное приложение в консоли отладки, и это нормально, но Я не могу отправить какие-либо данные в приложение.
Поэтому мои вопросы:
- Что это за непонятная ошибка? VS Code отображается при запуске проекта.
- Есть ли другой способ запустить проект (запуск в терминале не поможет, поскольку у него нет возможностей отладки).
- Возможно, есть способ отправить пользовательский ввод в консоль отладки (хотя поиск в Google говорит «нет»).
{
"version": "0.2.0",
"configurations": [
{
"name": ".NET Core Debug Launch (console)",
"type": "coreclr",
"request": "launch",
"preLaunchTask": "build_debug",
"program": "${fileWorkspaceFolderBasename}/bin/Debug/net8.0/ConsoleApp1.dll",
"args": [],
"cwd": "${workspaceFolder}",
"externalConsole": true,
"stopAtEntry": false
},
{
"name": ".NET Core Release Launch (console)",
"type": "coreclr",
"request": "launch",
"preLaunchTask": "build_release",
"program": "${fileWorkspaceFolderBasename}/bin/Release/net8.0/ConsoleApp1.dll",
"args": [],
"cwd": "${workspaceFolder}",
"externalConsole": true,
"stopAtEntry": false
}
]
}
И Tasks.json:
{
"version": "2.0.0",
"tasks": [
{
"label": "build_debug",
"command": "dotnet",
"type": "process",
"args": [
"build",
"${fileWorkspaceFolderBasename}/ConsoleApp1.csproj"
],
"problemMatcher": "$msCompile"
},
{
"label": "build_release",
"command": "dotnet",
"type": "process",
"args": [
"build",
"--configuration",
"Release",
"${fileWorkspaceFolderBasename}/ConsoleApp1.csproj"
],
"problemMatcher": "$msCompile"
}
]
}
Примечание 1. Я пытался изменить параметр «консоль» в файле launch.json, но это не дало никакого эффекта, независимо от того, какое значение я использую.
Примечание 2. Я знаю, что эта конфигурация просто запускает программу вывода и на самом деле не запускает приложение dotnet, но эта конфигурация вызывает ошибку:
Подробнее здесь: https://stackoverflow.com/questions/790 ... in-vs-code
Мобильная версия