Ответ 1
Я собираюсь воскресить это, потому что любой, кто пытался сделать это, каждый раз знает, что это полная боль в заднице, и что она слегка меняется с каждой возможной комбинацией хост/удаленная система, которую вы можете иметь.
Ссылки на удаленные инструменты Visual Studio:
- Удаленный отладчик Visual Studio 2010. (работает с 21 октября 2016 г.)
- Удаленные инструменты Visual Studio 2013 (работает с 21 октября 2016 г.)
- Удаленные инструменты Visual Studio 2015 x86 - Прямая ссылка для скачивания
- Удаленные инструменты Visual Studio 2015 x64 - Прямая ссылка для загрузки
- Инструменты Visual Studio (спасибо, Робо, сожгли)
- Visual Studio 2017 Remote Tools x64 - Прямая ссылка для загрузки (Спасибо, Исаак Бейкер)
- Visual Studio 2017 Remote Tools x86 - Прямая ссылка для загрузки (Спасибо, Исаак Бейкер)
Это настройка, с которой мне удалось сегодня:
Host (Dev) Machine:
Windows 7 Ultimate SP1 x64. Запуск Visual Studio 2010,.NET Framework 4.
Удаленная машина:
ПК промышленного/заводского уровня под управлением Windows Embedded Standard 32-bit. Это выглядит/чувствует себя точно так же, как Windows 7. Запуск SP1. Visual Studio не устанавливается. Имеет .NET Framework 4.
Сеть:
Обе машины находятся в одной подсети. Я получаю доступ к удаленной машине через RDP и запускаю свое приложение таким образом.
Внедренная Microsoft реализация фолликулярного разрушения:
Запишите имя пользователя и пароль вашей машины. По какой-то причине вы должны создать точно такое же имя пользователя и пароль на удаленной машине. Потому что Microsoft.
Как я это сделал:
Я загрузил удаленный отладчик Visual Studio 2010 по ссылке, предоставленной @sJhonny. Мне пришлось отключить Visual Studio 2013 в этой статье и перейти к 2010. Если вы хотите просмотреть статью 2010 года с расческой с мелкими зубьями, чтобы найти загрузку, ссылка находится рядом с надписью "Никто никогда не находит это Полезная ссылка сверху. Если нет, просто перейдите по моей ссылке выше.
Установите это на удаленном компьютере и запустите мастер настройки. Я оставил значения по умолчанию для мастера:
- "Запустить Visual Studio....." было отключено
- Имя пользователя - LocalSystem, а пароль пуст
- Разрешить только компьютеры в локальной сети....
Запустите удаленный отладчик в удаленной системе, и вы увидите
Msvsmon запустил новый сервер с именем 'username @machinename...'
в интерфейсе. Все идет нормально. Запустите приложение на удаленной машине. На компьютере разработчика, Ctrl + Alt + P в Visual Studio откроет "Присоединить к процессу" (Это также в меню инструментов). Я получил всплывающее окно о том, что брандмауэр моего компьютера разработчика не настроен должным образом, и меня спросили, хочу ли я разрешить соединения и т.д. Очевидно, да, да. Введите комбинацию 'username @machinename' в поле квалификатора... нажмите Обновить и немного помолитесь. Молитесь немного больше, и вы должны увидеть список процессов, запущенных на удаленной машине. Выберите процесс и прикрепите к нему.
Но мои контрольные точки не работают !?
Конечно, они не работают... потому что использование контрольных точек в том же каталоге, что и приложение на удаленной машине, имело бы слишком большой смысл. Если вам повезло, вы получили предупреждение о кеше точки останова и получили диалог с путем. Диалог упоминает что-то о том, что это правильно по отношению к удаленной машине. Оно врет. Он не имеет ничего общего с удаленным компьютером, за исключением того, что он заставил вас создать совершенно нового пользователя с тем же именем, что и ваш текущий пользователь из-за Microsoft. Чтобы заставить работать ваши точки останова, следуйте пути на вашем компьютере разработчика (настраиваемый в Сервис> Параметры> Отладк
Символы: Кэшируйте символы в этом каталоге) и скопируйте файлы .pdb вашего приложения в этот каталог. Вы должны копировать их с каждой новой сборкой, если нет возможности сделать это автоматически; Я не проверял, потому что еще не прекратил праздновать мой успех удаленной отладки.
Все должно работать сейчас.
Я надеюсь, что это поможет кому-то сэкономить часы ослепительной ярости, которые я пережил, пытаясь заставить это работать на разных машинах на протяжении многих лет.