I tried to include package from another project in my VSIX file. You would think this would be straight-forward through the designer.
The XML isn’t very complicated.
<?xml version="1.0" encoding="utf-8"?>
<Vsix xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:xsd="http://www.w3.org/2001/XMLSchema" Version="1.0.0"
xmlns="http://schemas.microsoft.com/developer/vsx-schema/2010">…
<Content>
<VsPackage>|Aperio.VisualStudio.DecisionTable;PkgdefProjectOutputGroup|</VsPackage>
<ItemTemplate>ItemTemplates</ItemTemplate>
</Content>
</Vsix>
However, it doesn’t actually do anything. Neither the dll nor the pkgdef file is included in the VSIX file. You can a project reference to include the dll, but the pkgdef file will still be missing. Looking up the schema for the vsixmanifest wasn’t much help either. MSDN suggests that you should use a relative path to the pkgdef file. That didn’t work.
The solution is with the project reference. In the properties pane is an option to include output groups in the VSIX file. Set this to BuiltProjectOutputGroup;PkgdefProjectOutputGroup.
