As we’ve seen, the VSIX extension project is composed of a few different files, all paved down by adding an extensibility project item. The core package class file contains the logic for our package.
Because packages are dynamic link libraries (DLLs), VSIX projects are class library projects. The core code file that is created implements a class called
Microsoft.VisualStudio.Shell.Package. This class contains all the necessary interfaces to make the package work within the context of the IDE.
Referring back to our
"Hello, World" example of a custom command, Listing 15.1 shows the
core Package class as it was generated by the custom command project item template.