Сборка пакета 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). Я действительно не знаю, что я изменил, потому что несколько часов назад все было в порядке.
Как я могу узнать, что пошло не так?
Btw: я использую VS 2012 Premium Update 1
EDIT:
Я вспомнил, что сделал. В режиме отладки я ввел Tools → Extensions and Updates и удалил мое отлаженное расширение (без перезапуска VS после этой операции). Дальнейшая попытка отладки (F5 после CLOSING Experimental Instance VS) приводит к таинственным поведением построения.
Ответы
Ответ 1
Мое текущее обходное решение, которое я придумал через некоторое время, - изменить отображаемое имя пакета расширения в файле source.extension.vsixmanifest:
<Metadata>
...
<DisplayName>Change this name to sth else and press F5</DisplayName>
...
</Metadata>
Ничего другого не нужно менять (к сожалению, возврат к старому имени все еще вызывает эту ошибку, но по крайней мере разработка и отладка могут быть продолжены).
UPDATE:
Я проверил реестр 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\
Удаление этой записи устраняет этот случай.
Ответ 2
Давиде Икарди прокомментировал:
Еще одно решение - вручную открыть экспериментальный экземпляр Visual Studio. Запуск он заставил все ожидающие расширения автоматически удаляться.
Чтобы запустить экспериментальный экземпляр, запустите эту команду в командной строке разработчика:
devenv.exe /RootSuffix Exp
Обновление: Я тупой - после установки SD 2013 VSK есть ярлык для запуска экспериментального экземпляра в папке Visual Studio 2013 в меню "Пуск".