Я просто пишу расширение VSIX для Visual Studio 2010 и не могу понять, как его отлаживать.
Один из очевидных методов - вывод сообщений. Шаблон расширения использует Trace.WriteLine()
. Но где его вывод?
Я просто пишу расширение VSIX для Visual Studio 2010 и не могу понять, как его отлаживать.
Один из очевидных методов - вывод сообщений. Шаблон расширения использует Trace.WriteLine()
. Но где его вывод?
Расширения Visual Studio можно отлаживать, как и любое другое приложение. Вам просто нужно настроить отладку для запуска devenv с загруженным расширением. Попробуйте следующее
Щелкните переключатель для Start External Program
. Направьте его на двоичный файл devenv.exe. На моей машине он расположен по адресу
C: \ Program Files (x86) \ Microsoft Visual Studio 10.0 \ Common7 \ IDE \ devenv.exe
На машинах, отличных от x64, вы можете удалить часть «(x86)».
Затем установите для аргументов командной строки значение /rootsuffix Exp
. Это указывает Visual Studio использовать экспериментальный куст вместо обычного куста конфигурации. По умолчанию расширения VSIX после сборки регистрируются в экспериментальном кусте.
Теперь вы можете нажать F5, и он запустит Visual Studio с вашим VSIX в качестве доступного расширения.
Принятый ответ @JaredPar технически верен, но страдает тем фактом, что вам нужно переделывать его для каждого разработчика, каждый раз, когда вы получаете новую копию кода, и каждый раз, когда
csproj.user
файл удаляется. Когда вы это сделаете, настройки сохранятся вcsproj.user
файле.Лучше всего поместить настройки в
csproj
файл, чтобы они не потерялись. К сожалению, Visual Studio не позволяет делать это автоматически, поэтому вам нужно вручную добавить настройки. К счастью, настройки одинаковы для любого проекта.Щелкните правой кнопкой мыши и выгрузите проект, затем щелкните еще раз правой кнопкой мыши и отредактируйте
csproj
файл файла проекта. В XML добавьте следующее к первомуPropertyGroup
, например, сразу послеTargetFramework
.Это дает следующие преимущества:
Как заявляет @MBulli в комментариях, если вы внесли изменения в принятый ответ, удалите свой
*.csproj.user
файл, потому что настройки в нем переопределят те, которые вы добавили в основнойcsproj
файл.источник
Метод OutputWindowHelper.OutputString записывает в область окна вывода «Общие» (Ctrl Alt o). Я добавил эту строку в свои ссылки .csproj, чтобы получить это в VS 2013
Также см. Этот ответ .
источник
Если вы пытаетесь отлаживать UnitTestExtension, вам также следует присоединить отладчик к процессам vstest. *. Exe, как описано здесь . В противном случае вы можете увидеть точку останова активации, но отладчик никогда не ударит ее.
источник