这里,我附上了我的错误日志。
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()
我遇到了一个非常类似的问题。
以下是日志消息:错误日志消息
在网上搜索了几个小时后,我终于找到了解决方案。我想把它发布在这里,并对我所做的事情给出明确的分步说明,这样其他人就不必像我一样在互联网上四处挖掘了。
TL;DR:这是一个仅适用于Windows计算机的解决方案。
- 首先,如果可以的话,应该先尝试卸载扩展。要执行此操作,请转到安装VSIXInstaller.exe的目录(应位于默认Visual Studio的安装位置;例如
C:Program Files (x86)Microsoft Visual Studio2019ProfessionalCommon7IDEVSIXInstaller.exe
) - 然后在安装目录中以管理员身份打开PowerShell窗口。您也可以以管理员身份打开PowerShell,并使用
cd
命令将自己引导到该目录 - 然后输入以下命令强制卸载:
.VSIXInstaller.exe /a /f /u:<GUID_OF_EXTENSION>
(在您的情况下,应该是.VSIXInstaller.exe /a /f /u:8B84B9F8-7BCA-41C4-9235-EA560AA96519
)。请注意,这可能会由于此依赖关系失败而失败 - 如果成功了,那就好了,你可以继续下一步了。如果没有,请转到扩展所在的位置(
C:Program Files (x86)Microsoft Visual Studio2019ProfessionalCommon7IDEExtensions
),并使用一些搜索程序(如Agent Ransack)来搜索此包ID(并确保按内容进行搜索),并找到包含此包ID的扩展包文件夹(要查找扩展的ID,请参阅此)。找到它后,请删除该软件包文件夹以手动卸载扩展。如果这也没有删除程序包,请参阅之前回答的StackOverflow问题,因为系统上可能安装了一些扩展程序包,需要从Programs and Features
和Control Panel
中删除(如果您使用的是Windows) - 由于此扩展包被视为依赖项,因此还必须从
devenv.isolation.ini
、vsga.isolation.ini
和blend.isolation.ini
中删除此扩展(如果使用Visual Studio 2019,它们都位于C:Program Files (x86)Microsoft Visual Studio2019ProfessionalCommon7IDE
下) - 最后,使用搜索程序(我再次建议使用Agent Ransack),转到
%PROGRAMDATA%MicrosoftVisualStudioPackages
并搜索此扩展的程序包ID(或程序包名称;通常可从vsix
程序包示例程序包ID中的extension.vsixmanifest
中获得)。搜索结果应该显示哪个包文件夹将此扩展声明为依赖项。删除该文件夹 - 一旦完全卸载扩展,则必须找到
state.json
和state.packages.json
,并删除包含此包ID(或包名称)的JSON属性(此解决方案来自此答案) - 完成上述所有步骤后,您应该能够重新安装此扩展。在我的情况下,这个问题使我无法完全修复、卸载或修改Visual Studio,按照这些步骤可以更新Visual Studio
我也遇到过类似的问题。
谢谢D.K,你的回答对我有效。
安装Visual Studio 2022预览版(17.1.0预览版1.0)后,我想将Visual Studio 2019从16.11.5更新到16.11.6。但它失败了,并显示以下错误消息:
"找不到"Microsoft.VisaulStudio.Product.Enterprise,版本=16.11.31729.503"的依赖程序包:Component.Microsoft.ML.ModelBuilder,版本=16.7.6.2150501;
来自Visual Studio安装程序的错误消息
所以,我按照D.K答案的步骤。
在我的情况下,我应该删除";Component.Microsoft.ML.ModelBuilder";对于所有步骤,PowerShell的命令应更改为">"。\VSIXINstaller.exe/a/f/q/u:步骤3中的Component.Microsoft.ML.ModelBuilder'。