Visual Studio 画廊报告 Express SKU 的模板 VSIX

Visual Studio Gallery reporting that template VSIX for Express SKU

我写了一个 Visual Studio 扩展,正在 Visual Studio 图库中更新它。上传的时候报错:

You can only upload template VSIX files for the Visual Studio Express SKUs.

问题的根源是什么,如何解决?

我的清单:

<?xml version="1.0" encoding="utf-8"?>
<PackageManifest Version="2.0.0" xmlns="http://schemas.microsoft.com/developer/vsx-schema/2011" xmlns:d="http://schemas.microsoft.com/developer/vsx-schema-design/2011">
  <Metadata>
    <Identity Id="dehungarian.Vsix..c7f6148f-43a7-4787-ab00-5f4b8a8352b9" Version="1.0.2" Language="en-US" Publisher="Phil Campbell"/>
    <DisplayName>dehungarian.Vsix</DisplayName>
    <Description xml:space="preserve">foo</Description>
    <MoreInfo>https://github.com/philoushka/dehungarian</MoreInfo>
    <License>EULA.txt</License>
    <Icon>icon.png</Icon>
    <PreviewImage>foo.png</PreviewImage>
    <Tags>foo</Tags>
  </Metadata>
  <Installation>
    <InstallationTarget Version="[14.0,15.0)" Id="Microsoft.VisualStudio.Premium" />
    <InstallationTarget Version="[14.0,15.0)" Id="Microsoft.VisualStudio.Ultimate" />
    <InstallationTarget Version="[14.0,15.0]" Id="Microsoft.VisualStudio.Pro" />
  </Installation>
  <Dependencies>
    <Dependency Id="Microsoft.Framework.NDP" DisplayName="Microsoft .NET Framework" d:Source="Manual" Version="[4.5,)" />
  </Dependencies>
  <Assets>
    <Asset Type="Microsoft.VisualStudio.MefComponent" d:Source="Project" d:ProjectName="dehungarian" Path="|dehungarian|"/>
    <Asset Type="Microsoft.VisualStudio.Analyzer" d:Source="Project" d:ProjectName="dehungarian" Path="|dehungarian|"/>
  </Assets>
</PackageManifest>

具体回应错误,我认为Express SKU 不支持工具扩展类型,仅支持模板和控件。这得到了加强 here,似乎是从某人 安装 扩展的角度来看的。

但是你上传,而不是安装,所以我认为这是 manifest 试图指定它可以通过 Express 安装的间接结果版本。

你能检查你的 vsix 清单是否有类似的东西:

<SupportedProducts>
  <VisualStudio Version="10.0">
    <Edition>Ultimate</Edition>
    <Edition>Premium</Edition>
    <Edition>Pro</Edition>
    <Edition>Express_All</Edition> <<<<<<<<< !!
  </VisualStudio>
</SupportedProducts>

如果它存在,那将是我尝试删除的内容。

对于 VS 2015 manifests,确保删除这些元素(如果存在)。

<InstallationTarget Version="[14.0,15.0]" Id="Microsoft.VisualStudio.VSWinDesktopExpress" />
<InstallationTarget Version="[14.0,15.0]" Id="Microsoft.VisualStudio.VWDExpress" />
<InstallationTarget Version="[14.0,15.0]" Id="Microsoft.VisualStudio.VSWinExpress" />