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

问题描述 投票:0回答:2

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

每当我尝试安装扩展(例如,CodeMaid)时,我都会收到 COM ClassID not found 错误。我不确定为什么会出现此错误。从谷歌搜索和参考一些文章后,我认为这个错误是由于 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, Boolean skipCheckThis, Boolean fillCache, 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 appidName, Version vsVersion, String edition, 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, String extensionPackParentName, Boolean isRepairSupported, IStateData stateData, IEnumerable`1& skuData)
   at VSIXInstaller.ExtensionService.ComputeInstallableExtensions(IStateData stateData, Boolean isRepairSupported, 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)
visual-studio-2019 visual-studio-extensions vs-community-edition
2个回答
2
投票

其实,当你卸载VS时,你可以在你的PC上对VS进行深度清理,然后重新安装它。

卸载时请输入

C:\Program Files (x86)\Microsoft Visual Studio\Installer\resources\app\layout\InstallCleanup.exe
运行程序。它将卸载所有 VS2017 和 VS2019 版本以及整个数据。

如果卸载VS2019还不行,可以试试这个

此外,

删除C:\Users\xxx(current user)\AppData\Local\Microsoft\VisualStudio`下的

16.0_xxxx
文件夹。

完成后,确保C:\Program Files (x86)\Microsoft Visual Studio\2019下没有你当前VS2019版本的文件夹(community*professional**

enterprise
*)。

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

然后,右击

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

最后,安装完成后,请再次测试


0
投票

出现此问题是因为文件夹“%ProgramData%\Microsoft\VisualStudio\Packages_Instances”下有一个旧的损坏实例。由于 VSIXInstaller 在安装扩展之前会查询所有实例,如果一个实例抛出它将直接失败。

要解锁这种情况,请删除损坏的实例文件夹:“%ProgramData%\Microsoft\VisualStudio\Packages_Instances

注意:请不要删除“%ProgramData%\Microsoft\VisualStudio\Packages_Instances”文件夹下的所有实例,只删除可能因未正确卸载而损坏的实例。

© www.soinside.com 2019 - 2024. All rights reserved.