Как мне использовать Visual Studio 2019 для удаленной отладки приложения .NETCore на виртуальной машине Hyper-V Linux?

#.net-core #visual-studio-2019 #ubuntu-20.04

#.net-core #visual-studio-2019 #ubuntu-20.04

Вопрос:

Я пытаюсь удаленно отладить приложение .NETCore в Ubuntu Linux из Visual Studio 2019 в Windows 10. Я вижу удаленный IP-адрес (проверка через командную строку). Я могу RDT на IP-адрес. Я могу успешно передавать на него файлы через WinSCP.

Я создал простое приложение .NETCore «HelloWorld» и скопировал его на виртуальную машину Linux. Я использовал следующие команды для сборки и публикации:

 dotnet build -r linux-x64 
dotnet publish --self-contained -r linux-x64
  

Я выполнил следующую команду на виртуальной машине Linux, чтобы убедиться, что ssh работает:

 sudo apt-get install openssh-server unzip curl
  

Приложение работает в Linux.
Из VS я пытаюсь подключиться к процессу:

VS Присоединить к процессу

Мне предлагается войти в систему:

Войдите в систему для удаленного подключения

Я получаю следующую ошибку:

Сообщение об ошибке

Есть ли какой-то шаг, который я где-то пропустил? Есть ли проблема с конфигурацией / разрешениями, о которой я не знаю?

Спасибо, ДжонБ

Комментарии:

1. social.msdn.microsoft.com/Forums/vstudio/en-US/… Вы можете попробовать поэкспериментировать с различными значениями в раскрывающемся списке «Прикрепить к»

2. vsdbg Установлен ли у вас Linux? И вам также нужен файл конфигурации запуска в соответствии с руководством по отладке .NET Core в Linux OSX

3. @PavelAnikhouski — ссылка плохая. Запрашивает аутентификацию на GitHub. Нужен ли мне vsdbg, даже если я на самом деле запускаю VS в Windows10 и пытаюсь выполнить удаленную отладку?

Ответ №1:

Microsoft документировала отладку целевого объекта Linux с компьютера разработки Windows по адресу https://learn.microsoft.com/en-us/visualstudio/debugger/remote-debugging-dotnet-core-linux-with-ssh?view=vs-2022

К сожалению, при использовании этого метода вам потребуется вручную развернуть и вручную подключить отладчик. Если вы хотите, чтобы Microsoft изменила это, было бы разумно обсудить эту проблему: https://developercommunity.visualstudio.com/t/Convenient-way-to-add-a-remote-debug-con/917516

Сторонний разработчик создал расширение Visual Studio, которое предоставляет эту недостающую функцию Visual Studio. Его можно загрузить с https://github.com/radutomy/VSRemoteDebugger

Ответ №2:

Изначально у меня была та же проблема, потому что я не ввел цель подключения на первом экране. После ввода правильной цели myusername@192.168.178.95 на первом экране второй экран больше не отображался, и я получил ожидаемый список процессов