NullReferenceException при попытке установить расширение Visual Studio в VS 2015
Поэтому я пытаюсь установить расширение Visual Studio в Visual Studio 2015, но получаю эту ошибку при попытке:
System.NullReferenceException: ссылка на объект не установлена на экземпляр объекта
Странно то, что я могу запустить расширение в экспериментальном экземпляре при отладке.
Это в журнале установки:
Beginning to install extension to Microsoft Visual Studio Professional 2015...
Install Error : System.NullReferenceException: Object reference not set to an instance of an object.
at Microsoft.VisualStudio.ExtensionManager.ExtensionManagerService.CheckForValidDotNetFramework(IExtension extension)
at Microsoft.VisualStudio.ExtensionManager.ExtensionManagerService.CheckForInstallBlockers(InstallableExtensionImpl extension, IInstalledExtensionList modifiedInstalledExtensionsList, Boolean isNestedExtension, Boolean& olderVersionInstalled)
at Microsoft.VisualStudio.ExtensionManager.ExtensionManagerService.InstallInternal(InstallableExtensionImpl extension, Boolean perMachine, Boolean isNestedExtension, IDictionary`2 extensionsInstalledSoFar, List`1 extensionsUninstalledSoFar, IInstalledExtensionList modifiedInstalledExtensionsList, AsyncOperation asyncOp, UInt64 totalBytesToWrite, UInt64& totalBytesWritten, Boolean enforceCertificateCheckForUpgrade)
at Microsoft.VisualStudio.ExtensionManager.ExtensionManagerService.BeginInstall(IInstallableExtension installableExtension, Boolean perMachine, AsyncOperation asyncOp, Boolean enforceCertificateCheckForUpgrade)
at Microsoft.VisualStudio.ExtensionManager.ExtensionManagerService.InstallWorker(IInstallableExtension extension, Boolean perMachine, AsyncOperation asyncOp, Boolean enforceCertificateCheckForUpgrade)
Вещи, которые я уже пробовал:
- Ремонт Visual Studio
- Попытка на другом ПК (та же ошибка)
- Пытаюсь установить его в безопасном режиме (
devenv /safemode
) devenv /resetsettings
- Попытка установки с помощью двойного клика на файле vsix вместо частной галереи расширений
- Удаление расширения "Инструменты разработчика аналитики"
- Попытка более старой версии кода, который, я уверен, когда-то работал
- Проверка всех ссылок, очистка, восстановление
- Удаление пакетов nuget и их чтение (Newtonsoft.Json и еще 1)
Пожалуйста помоги.
1 ответ
Хорошо, теперь я проверил ExtensionManager.Implementation и из метода CheckForValidDotNetFramework выяснил, что диапазон версий.NET Framework не был установлен для расширения. Я мог бы установить это в source.extension.vsixmanifest
под Dependencies
где я вошел [4.6.1]
в Version range
записи после изменения.NET Framework на все проекты.
Было бы полезно, если бы сообщение об ошибке в журнале сообщало, какой объект был нулевым.