Сбой сборки пакета VSIX без указания причины (ошибка Visual Studio)
Я должен включить режим диагностики выходных данных сборки проекта MSBuild, чтобы увидеть это:
1>Done executing task "EnableExtension" -- FAILED. (TaskId:81)
1>Done building target "DeployVsixExtensionFiles" in project "myextension.csproj" -- FAILED.: (TargetId:93)
...
1>Build FAILED.
1>
1>Time Elapsed 00:00:01.27
========== Rebuild All: 0 succeeded, 1 failed, 0 skipped ==========
Моя проблема в том, что я не могу отладить пакет расширений Visual Studio, над которым я работаю, поскольку выходные данные сборки сообщают, что что-то не удалось. Что было связано, были созданы папки obj и bin со всем содержимым (включая пакет vsix). Я действительно не знаю, что я изменил, потому что несколько часов назад все было хорошо.
Как я могу исследовать, что пошло не так?
Кстати: я использую VS 2012 Premium Update 1
РЕДАКТИРОВАТЬ:
Я вспомнил, что я сделал. Находясь в режиме отладки, я вошел в Инструменты -> Расширения и обновления и удалил свое отлаженное расширение (без перезапуска VS после этой операции). Дальнейшая попытка отладки (F5 после ЗАКРЫТИЯ Экспериментального Экземпляра VS) приводит к этому таинственному поведению сборки.
2 ответа
Мой текущий обходной путь, с которым я столкнулся через некоторое время, заключается в изменении отображаемого имени пакета расширения в файле source.extension.vsixmanifest:
<Metadata>
...
<DisplayName>Change this name to sth else and press F5</DisplayName>
...
</Metadata>
Больше ничего не нужно менять (к сожалению, возвращение к старому имени все еще вызывает эту ошибку, но, по крайней мере, разработка и отладка могут быть продолжены).
ОБНОВИТЬ:
Я проверил реестр Windows для такого проблемного имени, и нашел следующее PendingDeletions
ключ:
HKEY_USERS\S-1-5-21-1832937852-2116575123-337272265-599953\Software\Microsoft\VisualStudio\11.0Exp\ExtensionManager\PendingDeletions
Под этим ключом есть значение, указывающее на мое расширение, которое я ранее удалил (находясь в режиме отладки):
C:\USERS\G_159\APPDATA\LOCAL\MICROSOFT\VISUALSTUDIO\11.0EXP\EXTENSIONS\JAROSLAW WALISZKO\MYEXTENSION\1.0\
Удаление этой записи исправляет этот случай.
Давиде Икарди прокомментировал:
Другое решение состоит в том, чтобы вручную открыть экспериментальный экземпляр Visual Studio. При его запуске все ожидающие расширения удалялись автоматически.
Чтобы запустить экспериментальный экземпляр, выполните эту команду в командной строке разработчика:
devenv.exe /RootSuffix Exp
Обновление: я тупой - после установки VS 2013 SDK есть ярлык для запуска экспериментального экземпляра в папке Visual Studio 2013 в меню "Пуск".