2016-02-10 10 views
0

Я работаю над проектом расширения V2 2013 года. Использование Windows & и .NET 4.5 Расширение vsix при установке работает нормально. Однако что-то произошло некоторое время назад, сразу после добавления некоторых изменений, и я больше не могу запускать расширение в отладчике. Выбрав проект расширения в visual studio, а затем выбрав debug-> start new instance, VS запускается на этапе его компиляции, а затем запускает новую версию vs с расширением на месте. Тем не менее, вскоре после появления прямоугольника VS черного всплывающего окна появляется всплывающее сообщение с сообщением «Операция не может быть выполнена - такой интерфейс не поддерживается». Отладчик запустил и показывает модули, загружаемые в «Окно выполнения». Последний загруженный модуль - ENVDTE80.Windows 7 visual studio 2013, запускающая расшифрованное расширение, получает «Операция не может быть завершена - такой интерфейс не поддерживается»

Запуск Devenv с/журналом и копирование файла журнала в то время как «Операция не может ...», что отображается сообщение показывает последнюю запись будет

<entry> <record>1294</record> <time>2016/02/09 16:53:22.122</time> <type>Information</type> <source>VisualStudio</source> <description>Leaving function VBDispatch::GetTypeLib</description> <guid>{80CC9F66-E7D8-4DDD-85B6-D9E6CD0E93E2}</guid> 

</entry> </activity> 

GUID, цитируется появляется много раз в течение activity.log.

Я просмотрел нечетные сообщения об ошибках из журнала devenv/LOG. Я удалил приложение VSIX из визуальной студии, а затем попытался отлаживать>, но радости там нет. Я удалил визуальную студию и переустановил ее. Я исправил установки .NET. Я отремонтировал SDK. Ничего не сработало. Есть несколько других более ранних и более простых версий версий расширения и тестирования, которые отлично отлаживают. Я склонен думать, что есть какая-то часть реестра, где есть причина не запускать этот код.

С Devenv активности входом я вижу эти сообщения об ошибках:

<description>PkgDef configuration error. ApplicationExtensionsFolder omitted from PkgDefSearchPath</description> 

The clients rights token could not be found at .... 

Extension will not be loaded because an extension with the same ID &apos;Microsoft.Windows.DevelopmentKit.Desktop&apos; is already loaded at > C:\PROGRAM FILES (X86)\COMMON FILES\MICROSOFT\EXTENSIONMANAGER\EXTENSIONS\MICROSOFT\WINDOWS KITS\8.0\DESKTOP SDK\...</description> 

Я также запустить ProcMon и захватил событие между debug-> начать отдельный экземпляр и представление сообщения об ошибке. Два элемента> трассируются: один для оригинального devenv и один для отладки расширения. Все транзакции реестра для отлаженного расширения делятся на: УСПЕХ, НАЗВАНИЕ НЕ НАЙДЕННОЕ, НЕТ БОЛЬШЕ НАЗНАЧЕННЫХ НАЗНАЧЕНИЙ ИЛИ ПЕРЕПОЛНЕНИЕ БУФЕРА. Нет однозначного (для меня) условия одиночной ошибки.

pid, связанный с запуском devenv после последней записи pid для отлаживаемого расширения, имеет несколько записей ACCESS DENIED, связанных с HKLM \ SOFTWARE \ Microsoft \ SQMClient \ Windows \ CommonDatapoints.

Сравнение devenv.log с procmon, очевидно, что обработка продолжается после последней записи в devenv.log для ENVDTE80. Кажется, я не схожу с такой корреляцией.

У меня это было много.

Общепринятое предположение о перерегистрации dll не доказало свою полезность здесь (пока) (хотя, похоже, исправлена ​​проблема IE, которая делает ее привлекательной).

Также не установлен/нет .Net 3.5 (.1) без эффекта. Запустите sfc/scannow без эффекта. Запустите NetFxRepairTool без эффекта. Восстановили экспериментальный куст VS extensions (12.0-Exp) без эффекта. Имейте un/re-installed vs2013 и SDK без эффекта Удалили другие версии VS и парные SDK без эффекта

ответ

0

У меня было немного больше времени, чтобы посмотреть на это. Я удалил vs sdk и vs 2013 pro и перезагрузился. В переустановленном профайле 2013 года и против я загрузил инструмент анализа dotnetframework. Я отремонтировал dot net 4.5.1.Анализ затем сказал, чтобы восстановить dot net 4.6.1, который я сделал. Перезагрузите снова. Пытался запустить расширение vs в отладке и получил другую ошибку, связанную с файлом блокировки расширения. Это было улучшение от неизвестного сообщения интерфейса ранее. Отмените отладку снова с включенным файлом журнала devenv. Файл блокировки, указанный в журнале devenv, имел ссылку «% & 00A%D» между концом пути в имени каталога/Exp и именем файла /....lock. Отредактировал профиль, чтобы удалить cr/lf с конца записи/RootSuffix Exp, и после этого отладка работала.