Visual Studio 2019社区版-无法安装/更新扩展

问题描述

这是我在Intel i3笔记本电脑上全新安装的Windows 10(64位)上的Visual Studio 2019 Community Edition的全新安装。

每当我尝试安装扩展名(例如CodeMaid)时,都会出现未找到COM ClassID的错误。我不确定为什么会出现此错误。从谷歌搜索和参考一些文章后,我认为此错误是由于64位计算机上的32位COM。 Visual Studio尝试在64位注册表下查找COM CLASSID,但由于它可能在32位注册表下而失败。这只是一个疯狂的猜测。

只需添加一下,“帮助”下的“报告问题”对我也不起作用,但是NuGet软件包管理器运行良好;我可以下载和引用NuGet软件包。不确定是否与扩展相关,但是只是将这些信息发布给您。

请帮助我解决错误

我正在复制尝试安装CodeMaid扩展程序时遇到的错误的完整错误日志。这肯定不是特定于扩展程序的错误,因为当我尝试更新“ Live Share”之类的扩展程序时,我遇到了相同的错误

有关详细信息,请查看以下错误日志:

07-10-2020 16:14:08 - Microsoft VSIX Installer
07-10-2020 16:14:08 - -------------------------------------------
07-10-2020 16:14:08 - vsixinstaller.exe version:
07-10-2020 16:14:08 - 16.7.3069
07-10-2020 16:14:08 - -------------------------------------------
07-10-2020 16:14:08 - Command line parameters:
07-10-2020 16:14:08 - C:\Program Files (x86)\Microsoft Visual Studio\2019\Community\Common7\IDE\vsixinstaller.exe,/appidinstallpath:C:\Program Files (x86)\Microsoft Visual Studio\2019\Community\Common7\IDE\devenv.exe,/skuName:Community,/skuVersion:16.7.30523.141,/appidname:Microsoft Visual Studio Community 2019,/culture:en-US,/noep,C:\Users\Ruturaaj\AppData\Local\Temp\VSIX50es31ad.vsix
07-10-2020 16:14:08 - -------------------------------------------
07-10-2020 16:14:08 - Microsoft VSIX Installer
07-10-2020 16:14:08 - -------------------------------------------
07-10-2020 16:14:09 - Initializing Install...
07-10-2020 16:14:10 - Extension Details...
07-10-2020 16:14:10 -   Identifier         : 4c82e17d-927e-42d2-8460-b473ac7df316
07-10-2020 16:14:10 -   Name               : CodeMaid
07-10-2020 16:14:10 -   Author             : Steve Cadwallader
07-10-2020 16:14:10 -   Version            : 11.1.209
07-10-2020 16:14:10 -   Description        : CodeMaid is an open source Visual Studio extension to cleanup and simplify our C#,C++,F#,VB,PHP,PowerShell,R,JSON,XAML,XML,ASP,HTML,CSS,LESS,SCSS,JavaScript and TypeScript coding.
07-10-2020 16:14:10 -   Locale             : en-US
07-10-2020 16:14:10 -   MoreInfoURL        : http://www.codemaid.net/
07-10-2020 16:14:10 -   InstalledByMSI     : False
07-10-2020 16:14:10 -   SupportedFrameworkVersionRange : [4.7.2,)
07-10-2020 16:14:10 - 
07-10-2020 16:14:10 -   SignatureState     : Unsigned
07-10-2020 16:14:10 -   Supported Products : 
07-10-2020 16:14:10 -       Microsoft.VisualStudio.Community
07-10-2020 16:14:10 -           Version : [15.0,17.0)
07-10-2020 16:14:10 - 
07-10-2020 16:14:10 -   References         : 
07-10-2020 16:14:10 -   Prerequisites      : 
07-10-2020 16:14:10 -       -------------------------------------------------------
07-10-2020 16:14:10 -       Identifier   : Microsoft.VisualStudio.Component.CoreEditor
07-10-2020 16:14:10 -       Name         : Visual Studio core editor
07-10-2020 16:14:10 -       Version      : [15.0,)
07-10-2020 16:14:10 - 
07-10-2020 16:14:10 - Signature Details...
07-10-2020 16:14:10 -   Extension is not signed.
07-10-2020 16:14:10 - 
07-10-2020 16:14:10 - System.Runtime.InteropServices.COMException (0x80040154): Retrieving the COM class factory for component with CLSID {177F0C4A-1CD3-4DE7-A32C-71DBBB9FA36D} Failed due to the following error: 80040154 Class not registered (Exception from HRESULT: 0x80040154 (REGDB_E_CLASSNOTREG)).
   at System.RuntimeTypeHandle.CreateInstance(RuntimeType type,Boolean publicOnly,Boolean noCheck,Boolean& canBeCached,RuntimeMethodHandleInternal& ctor,Boolean& bNeedSecurityCheck)
   at System.RuntimeType.CreateInstanceSlow(Boolean publicOnly,Boolean skipCheckThis,Boolean fillCache,StackCrawlMark& stackMark)
   at System.RuntimeType.CreateInstanceDefaultCtor(Boolean publicOnly,StackCrawlMark& stackMark)
   at System.Activator.CreateInstance(Type type,Boolean nonPublic)
   at System.Activator.CreateInstance(Type type)
   at VSIXInstaller.LocationBasedSKU..ctor(String appidInstallPath,String appidName,Version vsversion,String edition,String rootSuffix)
   at VSIXInstaller.LocationBasedSKU..ctor(String appidInstallPath,String rootSuffix,IntPtr alternateUserToken)
   at VSIXInstaller.ExtensionService.GetInstallableDataimpl(IInstallableExtension extension,String extensionPackParentName,Boolean isRepairsupported,IStateData stateData,IEnumerable`1& skuData)
   at VSIXInstaller.ExtensionService.GetInstallableData(String vsixPath,IEnumerable`1& skuData)
   at VSIXInstaller.ExtensionService.ComputeInstallableExtensions(IStateData stateData,Boolean isExtensionPack,IDictionary`2 skuDataMapping,IList`1 installableExtensionsPaths)
   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)

解决方法

实际上,当您卸载VS时,可以对PC上的VS进行彻底的清除,然后重新安装。

卸载时,请输入C:\Program Files (x86)\Microsoft Visual Studio\Installer\resources\app\layout\InstallCleanup.exe以运行该程序。它将卸载所有VS2017和VS2019版本的全部数据。

如果无法卸载VS2019,则可以尝试此操作。

旁边

删除C:\ Users \ xxx(当前用户)\ AppData \ Local \ Microsoft \ VisualStudio`下的16.0_xxxx等文件夹。

完成后,请确保没有当前VS2019版本的文件夹(社区 * 专业 ** 企业 *)在C:\Program Files (x86)\Microsoft Visual Studio\2019下。

===================================

然后,右键单击vs_installer->单击以管理员身份运行,然后安装相关的扩展开发工作负载,如下所示:

enter image description here

最后,当您完成安装后,请再次进行测试。