Visual studio 2017 尝试将扩展安装到VS2019会导致NullReferenceException

Visual studio 2017 尝试将扩展安装到VS2019会导致NullReferenceException,visual-studio-2017,visual-studio-2019,visual-studio-extensions,Visual Studio 2017,Visual Studio 2019,Visual Studio Extensions,自从我的VS2019发布以来,我一直无法为其添加扩展。 我最近更新到了16.4.3版,但在尝试添加扩展时仍然会遇到相同的错误 我尝试了以下操作,但仍然失败,上面出现了一个错误对话框 从VisualStudio中的扩展管理器安装 从MarketPlace下载扩展并双击安装 在VS 2019开发者命令提示符管理模式下使用VSIXInstaller.exe命令行安装 这是我从安装日志中得到的信息 System.NullReferenceException: Object reference no

自从我的VS2019发布以来,我一直无法为其添加扩展。 我最近更新到了16.4.3版,但在尝试添加扩展时仍然会遇到相同的错误

我尝试了以下操作,但仍然失败,上面出现了一个错误对话框

  • 从VisualStudio中的扩展管理器安装
  • 从MarketPlace下载扩展并双击安装
  • 在VS 2019开发者命令提示符管理模式下使用VSIXInstaller.exe命令行安装
这是我从安装日志中得到的信息

System.NullReferenceException: Object reference not set to an instance of an object.
   at Microsoft.VisualStudio.Setup.Cache.Instance.get_SupportsExtensions()
   at VSIXInstaller.SetupExtensions.GetLaunchableInstances(IQuery query)
   at VSIXInstaller.SupportedSKUs.EnumerateIsolatedInstalls(Action`1 callback)
   at VSIXInstaller.SupportedSKUs.AddInstalledLocationBasedSKUs(IntPtr userToken)
   at VSIXInstaller.SupportedSKUs.InitializeSupportedSKUs(IntPtr userToken)
   at VSIXInstaller.ExtensionService.InitializeSupportedSKUs(ICommandLineData cmdLineData, IntPtr duplicatedUserToken)
   at VSIXInstaller.App.Initialize(Boolean isRepairSupported)
   at VSIXInstaller.App.Initialize()
   at System.Threading.Tasks.Task`1.InnerInvoke()
   at System.Threading.Tasks.Task.Execute()
--- End of stack trace from previous location where exception was thrown ---
   at Microsoft.VisualStudio.Telemetry.WindowsErrorReporting.WatsonReport.GetClrWatsonExceptionInfo(Exception exceptionObject)

到目前为止,我尝试安装的每个VS2019扩展都会给我这个错误。在VS2017上安装扩展也没什么不同。

我想知道您是否只在VS2019中遇到这个问题,但在VS2017中确实有效

除了,您还可以尝试以下步骤:

1)删除路径
C:\Users\Admin\AppData\Local\Microsoft\VisualStudio\16.0\u xxxx(VS版本)\ComponentModelCache下的所有扩展缓存文件

2)禁用任何其他第三方扩展,然后安装此扩展以检查它是否由其他扩展引起

3)如果您无法在VS2019中安装此扩展,但可以在VS2017中工作。您可以尝试用zip打开安装包
xxxxp.vsix

首先,打开
extension.vsixmanifest
并更改为:

<InstallationTarget Id="Microsoft.VisualStudio.Pro" Version="[15.0,)" />
<Prerequisite Id="Microsoft.VisualStudio.Component.CoreEditor" Version="[15.0,)" DisplayName="Visual Studio core editor" />

其次,请将
目录.json
文件中的
Microsoft.VisualStudio.Component.CoreEditor:“[15.0,16.0]”
更改为[15.0,)


此外,请分享有关此问题如何出现以及它是否在其他版本的VS中工作的信息。还应通知任何其他有用的信息。如果您有与此问题相关的任何错误,请随时通知我们。

我遇到了相同的问题,此解决方案解决了我的问题,这是一个很长的问题,但我们仍在努力他为我祈祷


您好,您能与我们共享具体的扩展吗?此外,您在安装其他扩展时是否遇到此错误?我想知道它是否在VS2019的早期版本中有效,而在VS2019中不起作用。您好@Perry,我在VS2017中确实遇到了此问题。我已经尝试了许多扩展,但仍然遇到此错误。我开始认为这是一个错误可能是因为同时安装了VS2017和VS2019。我觉得这样做是因为在我的系统上安装了VS2019之前,安装VS2017的扩展工作正常。我将删除一个以查看结果。感谢分享信息。通常,VS2017和VS2019是并行安装的,不会相互影响。因此,请检查vs2019的安装路径与vs installer中的vs2017冲突。或者,您可以在另一台PC上检查此问题。如果您仍然面临此问题,请尝试在开发人员命令提示符下为vs2019运行
devenv/setup
,或者在vs中进行修复。答案必须首先卸载所有vs 2017和2019。非常可笑,如果用户已经安装了所有需要的插头,该怎么办ins但VSIX安装程序不工作,他们是否应该先卸载所有VS 2017和2019以修复VSIX安装程序?但这很好。如果CC Cleaner不删除安装文件,则无需再次从internet下载VS 2019的大文件。