The lightest possible VSPackage is demonstrated in commit f3e23a3 here. In particular, you need the following:
A class derived from
Package
, similar toOutputWindowPackage
. Keep thePackageRegistration
attribute, but you can omitProvideBindingPath
if your extension only has one assembly. You can simplify the dependencies by referencing theVSSDK.Shell.12
NuGet package (for an extension only targeting Visual Studio 2013 and newer).Update the
source.extension.vsixmanifest
to include the<VsPackage>|%CurrentProject%|</VsPackage>
line.Update the project file to set
<GeneratePkgDefFile>true</GeneratePkgDefFile>
and<CopyBuildOutputToOutputDirectory>true</CopyBuildOutputToOutputDirectory>
.Make sure the project file has
<IncludeAssemblyInVSIXContainer>true</IncludeAssemblyInVSIXContainer>
(it should even before you update the project).