"Visual Studio Integration Package" vs "Visual Studio Add-in": what is the difference?

Nathan Voxland picture Nathan Voxland · Jul 16, 2009 · Viewed 8k times · Source

When creating a new extension for visual studio, there are two project options: "Visual Studio Integration Package" and "Visual Studio Add-in". What is the difference between the two project types and when would you use one over the other?

Answer

Max Galkin picture Max Galkin · Jan 13, 2010

Ok, you can find a full detailed comparison here (there are also links to the previous parts in the series).

But basically, add-ins were available as the VS extension type from the very first versions of the VS and built as the COM components. Later on, some limitations were discovered in that approach, so the new extensibility feature was created -- namely VS SDK package.

Probably, if you are building an extension for VS 2008+ you should target the VS SDK package as the newer technology. Another strong point of the VS package is better integration with the Visual Studio.

Whatever you do, add-ins are an external thing for Visual Studio while VSPackages are a completely integrated part of the IDE.

You still might consider building an add-in, if

  • you need access to high-level extensibility API, as opposed to low-level fundamental API available from a VS package;
  • you develop in Visual Basic (templates for VS Package are available only in C# / Visual C++);
  • you want to automate a simple task / common scenario, then add-in will probably require less development effort.