Сбой сборки пакета 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) приводит к этому загадочному поведению сборки.


person jwaliszko    schedule 01.04.2013    source источник


Ответы (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\

Удаление этой записи исправляет этот случай.

person jwaliszko    schedule 01.04.2013
comment
Для меня не было мошеннической ссылки в реестре, но я вручную установил свой VSIX в свой основной VS, затем скопировал его из APPDATA\LOCAL\MICROSOFT\VISUALSTUDIO\11.0\EXTENSIONS в папку 11.0EXP, и сборка снова заработала - я Затем можно удалить VSIX из моего основного экземпляра VS. - person Steven Robbins; 01.05.2013
comment
Другое решение — вручную открыть экземпляр Visual Studio Experimental. Его запуск приводит к автоматическому удалению всех ожидающих расширений. - person Davide Icardi; 14.01.2014

Давиде Икарди прокомментировал:

Другое решение — вручную открыть экспериментальный экземпляр Visual Studio. Его запуск привел к автоматическому удалению всех ожидающих расширений.

Чтобы запустить экспериментальный экземпляр, запустите эту команду в командной строке разработчика:

devenv.exe /RootSuffix Exp

Обновление: я тупой — после установки SDK VS 2013 в папке Visual Studio 2013 в меню «Пуск» есть ярлык для запуска экспериментального экземпляра.

person eppsilon    schedule 17.11.2014