【问题标题】:Vs2019 vsix is not installedvs2019 vsix 没有安装
【发布时间】:2019-01-30 11:40:25
【问题描述】:

在这里,我附上了我的错误日志。

 1/30/2019 5:09:42 PM - Microsoft.VisualStudio.ExtensionManager.CorruptInstanceException: VSIX Installer has encountered a problem. To troubleshoot, follow the steps here: https://aka.ms/pc5ifb ---> Microsoft.VisualStudio.Setup.Dependencies.DependencyGraphConstructionException: The dependent package of 'Microsoft.VisualStudio.Product.Professional,version=15.9.28307.222' cannot be found: Component.8B84B9F8-7BCA-41C4-9235-EA560AA96519,version=16.4.0.49.
       at Microsoft.VisualStudio.Setup.Engine.Initialize()
       at Microsoft.VisualStudio.Setup.Engine.GetProducts()
       at Microsoft.VisualStudio.ExtensionManager.ExtensionEngineImpl.IntializePackages()
       at Microsoft.VisualStudio.ExtensionManager.ExtensionEngineImpl.GetPrerequisitesInternal(IInstallableExtension extension, ICollection`1 installedPackages, ICollection`1 installablePackages, ICollection`1 unresolvedReferences)
       at Microsoft.VisualStudio.ExtensionManager.ExtensionEngineImpl.GetPrerequisites(IInstallableExtension extension, IEnumerable`1& installedPackages, IEnumerable`1& installablePackages, IEnumerable`1& unresolvedReferences)
       at VSIXInstaller.ExtensionService.GetInstallableData(String vsixPath, String extensionPackParentName, Boolean isRepairSupported, IStateData stateData, IEnumerable`1& skuData)
    --- End of stack trace from previous location where exception was thrown ---
       at Microsoft.VisualStudio.Telemetry.WindowsErrorReporting.WatsonReport.GetClrWatsonExceptionInfo(Exception exceptionObject)
       --- End of inner exception stack trace ---
       at VSIXInstaller.ExtensionService.GetInstallableData(String vsixPath, String extensionPackParentName, Boolean isRepairSupported, IStateData stateData, IEnumerable`1& skuData)
       at VSIXInstaller.ExtensionPackService.IsExtensionPack(IStateData stateData, Boolean isRepairSupported)
       at VSIXInstaller.ExtensionPackService.ExpandExtensionPackToInstall(IStateData stateData, Boolean isRepairSupported)
       at VSIXInstaller.App.Initialize(Boolean isRepairSupported)
       at VSIXInstaller.App.Initialize()
       at System.Threading.Tasks.Task`1.InnerInvoke()
       at System.Threading.Tasks.Task.Execute()

【问题讨论】:

  • 您甚至提到 which 扩展导致了这种情况,或者它是否首先支持 VS 2019。检查消息。它正在寻找 VS 2017 库版本。检查扩展程序的站点、github repo 或联系作者询问他们计划何时添加 2019 支持
  • VSIX 有依赖,需要 VS2017 Professional 15.9.28307.222

标签: visual-studio vsix vsixmanifest visual-studio-2019


【解决方案1】:

我遇到了一个非常相似的问题。

这是日志消息: Error Log Message

在网上搜索了几个小时后,我终于找到了解决方案。 我想在这里发布它,并就我所做的事情给出明确的分步说明,这样其他人就不必像我一样在互联网上挖掘。

TL;DR:这是一个仅适用于 Windows 计算机的解决方案。

  1. 首先,如果可以,您应该先尝试卸载扩展程序。为此,请转到安装 VSIXInstaller.exe 的目录 (应位于安装默认 Visual Studio 的位置;例如 C:\Program Files (x86)\Microsoft Visual Studio\2019\Professional\Common7\IDE\VSIXInstaller.exe)。
  2. 然后在安装目录中以管理员身份打开一个 PowerShell 窗口。您还可以以管理员身份打开 PowerShell,并使用cd 命令将自己定向到该目录。
  3. 然后输入此命令强制卸载:.\VSIXInstaller.exe /a /f /u:<GUID_OF_EXTENSION>(在您的情况下为.\VSIXInstaller.exe /a /f /u:8B84B9F8-7BCA-41C4-9235-EA560AA96519)。请注意,这可能会因为依赖失败而失败。
  4. 如果这有效,那么很好,您可以继续下一步。如果没有,请转到扩展所在的位置 (C:\Program Files (x86)\Microsoft Visual Studio\2019\Professional\Common7\IDE\Extensions) 并使用诸如 Agent Ransack 之类的搜索程序来搜索此包 ID(并确保按内容搜索)并找到包含此包 ID 的扩展包文件夹(要查找扩展程序的 ID,请参阅 this)。找到它后,删除该包文件夹以手动卸载扩展。如果这样也没有删除包,那么参考这个previously answered StackOverflow question,因为系统上可能安装了一些扩展包,需要从Programs and FeaturesControl Panel删除(如果你正在使用 Windows,也就是说)。
  5. 由于此扩展包被视为依赖项,因此您还必须从 devenv.isolation.inivsga.isolation.iniblend.isolation.ini 中删除此扩展(如果您使用 Visual Studio 2019,它们都位于 C:\Program Files (x86)\Microsoft Visual Studio\2019\Professional\Common7\IDE 下)。
  6. 最后,使用搜索程序(我再次推荐使用 Agent Ransack),转到 %PROGRAMDATA%\Microsoft\VisualStudio\Packages 并搜索此扩展程序的包 ID(或包名;通常可从 vsix 包中的 extension.vsixmanifest 获得 @ 987654325@)。搜索结果应显示哪个包文件夹将此扩展声明为依赖项。删除该文件夹。
  7. 完全卸载扩展后,您必须找到state.jsonstate.packages.json 并删除包含此包ID(或包名称)的JSON 属性(此解决方案来自此answer)。
  8. 完成上述所有步骤后,您应该能够重新安装此扩展程序。就我而言,这个问题使我无法完全修复、卸载或修改 Visual Studio,而按照这些步骤,我可以更新 Visual Studio。

【讨论】:

    【解决方案2】:

    我也遇到过类似的问题。

    感谢D.K,您的回答对我有用。

    安装 Visual Studio 2022 Preview(17.1.0 预览版 1.0)后,我想将 Visual Studio 2019 从 16.11.5 更新到 16.11.6。但它失败了,它显示以下错误消息:

    “找不到‘Microsoft.VisaulStudio.Product.Enterprise,version=16.11.31729.503’的依赖包:Component.Microsoft.ML.ModelBuilder,version=16.7.6.2150501。”

    Error Message from Visual Studio Installer

    所以,我按照D.K's answer的步骤。

    在我的情况下,我应该删除所有步骤的“Component.Microsoft.ML.ModelBuilder”包,并且PowerShell的命令应该更改为'.\VSIXINstaller.exe /a /f /q /u :Component.Microsoft.ML.ModelBuilder' 在第 3 步中。

    【讨论】:

      猜你喜欢
      • 2021-07-19
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多