2

I've written a Visual Studio extension, and am updating it in the Visual Studio Gallery. When uploading, it produces this error:

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

What's the source of the problem, and how can it be fixed?

enter image description here

My manifest:

<?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>
p.campbell
  • 98,673
  • 67
  • 256
  • 322

1 Answers1

3

Specifically responding to the error, I don't believe Express SKUs support Tool extension types, only Template and Control. That's reinforced here, and it seems to be from the perspective of someone installing the extension.

However you're uploading, not installing, and so I believe it is an indirect result of the manifest trying to specify it is available for install with Express editions.

Can you check your vsix manifest for something like:

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

If it's there, that would be what I'd try removing.

For VS 2015 manifests, ensure these elements are removed, if they exist.

<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" />
p.campbell
  • 98,673
  • 67
  • 256
  • 322
Chris Schubert
  • 1,288
  • 8
  • 17
  • 1
    Thanks Chris. Turns out the manifest created by VS 2015 doesn't include the `SupportedProducts` element, but did have `InstallationTarget` elements with Express values. – p.campbell Jun 26 '15 at 16:35
  • Wasn't this restriction cleared with VS2015 (that Express SKU cannot be extended with tools)? – Vizu Aug 06 '15 at 21:36