【问题标题】:Missing Microsoft.VisualStudio.Component.CoreEditor when installing Visual Studio extension安装 Visual Studio 扩展时缺少 Microsoft.VisualStudio.Component.CoreEditor
【发布时间】:2020-04-05 06:49:22
【问题描述】:

我正在尝试使用 this extensionscrcpy 在 Visual Studio 中运行,并确定我是否可以扩展其功能。

无法为 Visual Studio 2019 安装 VSIX 扩展

安装失败提示:

我按照here更新了<InstallationTarget><Dependency>

您需要将 InstallationTarget 更改为 [15.0,17.0) 和先决条件 到 [15.8.27729.1,)。

我解压了 .vsix 文件,将 extension.vsixmanifest 文件更新为以下内容:

<Installation>
    <InstallationTarget Id="Microsoft.VisualStudio.Community" Version="[15.0,17.0)" />
  </Installation>
  <Dependencies>
    <Dependency Id="Microsoft.Framework.NDP" DisplayName="Microsoft .NET Framework" Version="[4.5,)" />
    <Dependency Id="Microsoft.VisualStudio.MPF.15.0" DisplayName="Visual Studio MPF 15.0" Version="[15.0]" />
  </Dependencies>
  <Prerequisites>
    <Prerequisite Id="Microsoft.VisualStudio.Component.CoreEditor" Version="[15.8.27729.1,)" DisplayName="Visual Studio core editor" />
  </Prerequisites>

压缩目录,重命名为*.vsix,再次尝试安装。

安装程序现在可以识别 Visual Studio 2019,开始安装但失败,缺少 Microsoft.VisualStudio.Component.CoreEditor

12/11/2019 5:25:00 PM - Beginning to install extension to Visual Studio Enterprise 2019 (2)...
12/11/2019 5:25:02 PM - Install Error : Microsoft.VisualStudio.ExtensionManager.MissingReferencesException: This extension cannot be installed because the following references are missing:
-Microsoft.VisualStudio.Component.CoreEditor (Microsoft.VisualStudio.Component.CoreEditor)
   at Microsoft.VisualStudio.ExtensionManager.EngineUtilities.EnsureNoMissingReferences(IEnumerable`1 missingRefs)
   at Microsoft.VisualStudio.ExtensionManager.PackageInstaller.PrepareEngineInstall(IDependencyGraph dGraph, IDependencyComparisonSeed seed, Component vsixComponent, Boolean isProductComponent, Int32& totalInstallationSteps)
   at Microsoft.VisualStudio.ExtensionManager.ExtensionEngineImpl.PerformSetupEngineInstall(InstallableExtensionImpl extension, Boolean installPerMachine, Boolean isPackComponent, IDictionary`2 extensionsInstalledSoFar, List`1 extensionsUninstalledSoFar, IInstalledExtensionList modifiedInstalledExtensionsList, IProgress`1 progress, InstallFlags installFlags, AsyncOperation asyncOp, Version targetedVsVersion, IInstalledExtension& newExtension)
   at Microsoft.VisualStudio.ExtensionManager.ExtensionEngineImpl.InstallInternal(InstallableExtensionImpl extension, InstallFlags installFlags, IDictionary`2 extensionsInstalledSoFar, List`1 extensionsUninstalledSoFar, IInstalledExtensionList modifiedInstalledExtensionsList, AsyncOperation asyncOp, IProgress`1 progress, Version targetedVsVersion)
   at Microsoft.VisualStudio.ExtensionManager.ExtensionEngineImpl.BeginInstall(IInstallableExtension installableExtension, InstallFlags installFlags, AsyncOperation asyncOp, Version targetedVsVersion)
   at Microsoft.VisualStudio.ExtensionManager.ExtensionEngineImpl.InstallWorker(IInstallableExtension extension, InstallFlags installFlags, AsyncOperation asyncOp)

请对后续步骤提出建议?

【问题讨论】:

  • CoreEditor 的必备版本通常设置为 [15.0,)
  • 除了extension.vsixmanifest文件的修改,请将catalog.json文件的"Microsoft.VisualStudio.Component.CoreEditor":"[15.0,16.0)"修改为[15.0,17.0)。让我知道它是否有效:)

标签: visual-studio visual-studio-extensions


【解决方案1】:

安装时缺少 Microsoft.VisualStudio.Component.CoreEditor Visual Studio 扩展

我认为主要问题是您没有修改 Microsoft.VisualStudio.Component.CoreEditor 的版本以支持 catalog.json 文件中的 Visual Studio 2019。所以当你运行vsix文件的时候,它会监控然后运行​​文件缺少对应的VS2019Microsoft.VisualStudio.Com ponent. CoreEditor

解决方案

除了对extension.vsixmanifest 文件的更改之外, 请将catalog.json 文件中的"Microsoft.VisualStudio.Component.CoreEditor":"[15.0,16.0)" 更改为[15.0,17.0)

希望对你有帮助。

【讨论】:

    【解决方案2】:

    更新 VS2022 以启用安装,您必须修改 extension.vsixmanifest

    <Installation>
       <InstallationTarget Id="Microsoft.VisualStudio.Community" Version="[15.0,17.0)">
          <ProductArchitecture>x86</ProductArchitecture>
       </InstallationTarget>
       <InstallationTarget Id="Microsoft.VisualStudio.Community" Version="[17.0,18.0)">
          <ProductArchitecture>amd64</ProductArchitecture>
       </InstallationTarget>
    </Installation>
    

    正如Perry Qian-MSFT 所说,在较新的 Visual Studio 上使用较旧的 vsix 软件包时,您应该将 [14.0,16.0] 更新为当前的 VS 版本 [14.0,xx.x]。

    文件内

    • catalog.json
    • manifest.json
    • extension.vsixmanifest

    【讨论】:

    • 这些文件在磁盘上的什么位置?
    • @Manolo 您需要下载所需的 VSIX 扩展。然后解压到文件夹,修改上面提到的文件。保存并再次压缩以 *.vsix 结尾的文件夹。然后你就可以安装它了
    【解决方案3】:

    作为替代方案,您可能希望修改 Visual Studio 安装(使用 Visual Studio 安装程序)并包含“Visual Studio 扩展开发”。奇怪的是,这个工具集将解决缺少的需求问题。

    【讨论】:

      【解决方案4】:

      对于 VS2022,您需要将版本字符串编辑为 [17.0,18.0),如下所示:

      Microsoft.VisualStudio.Component.CoreEditor": "[17.0,18.0)"

      【讨论】:

      • 在此之后我仍然无法安装,我收到错误“Microsoft.VisualStudio.ExtensionManager.MissingReferencesException:无法安装此扩展,因为缺少以下引用:-Microsoft.VisualStudio.Component.CoreEditor (Microsoft.VisualStudio.Component.CoreEditor)"
      猜你喜欢
      • 1970-01-01
      • 2012-04-11
      • 1970-01-01
      • 2021-11-12
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多