Ver versión en español    
 
Home
10 Reasons to use MZ-Tools
MZ-Tools 6.0 for VS.NET
Editions
Features
Online Documentation
MZ-Tools SDK
Download
Purchase
Version History (RSS)  
FAQ & Support
MZ-Tools 3.0 for VB6 & VBA
Features
Online Documentation
Download (freeware)
Donations (Paypal)
Version History (RSS)  
FAQ & Support
User Reviews
Community Place
Contact  
For Add-In Developers
About
   
 
User Testimonials

I'm an avid supporter of MZ-Tools. It's a product I couldn't do without and your level of support is outstanding.

Jan Hyde (Visual Basic MVP)

You will soon wonder how you ever lived without it.

Andy Maggs

More user reviews
 
INFO: Assemblies used in Visual Studio Extensibility

Author: Carlos J. Quintero (Microsoft MVP) Applies to: Microsoft Visual Studio .NET 2002
Created: February 2007   Microsoft Visual Studio .NET 2003
Updated: February 2008   Microsoft Visual Studio 2005
      Microsoft Visual Studio 2008
Introduction

This article explains the assembly DLLs used when creating add-ins for Visual Studio .NET.

More Information

When you create a Visual Studio .NET add-in using the wizard, several assembly DLLs are added to your add-in project. Depending on your needs, you may need to add some other extensibility assemblies. The common assemblies that you use in an add-in are:

Assembly Visual Studio Version Description
Extensibility.dll 2002, 2003, 2005, 2008 This assembly contains the definition of the IDTExtensibility2 interface (implemented by all add-ins) and some enums related to the connection and disconnection of the add-in.
EnvDTE.dll 2002, 2003, 2005, 2008 This assembly contains the extensibility model of Visual Studio to manage the IDE, solutions, projects, files, code, etc.
EnvDTE80.dll 2005, 2008 This assembly does not replace EnvDTE.dll. Rather, it contains additional classes, interfaces and enums (typically ending with "2" such as EnvDTE80.DTE2) with additional methods. So, a Visual Studio 2005 add-in references both EnvDTE.dll and EnvDTE80.dll.
EnvDTE90.dll 2008 This assembly does not replace EnvDTE.dll or EnvDTE80.dll. Rather, it contains additional classes, interfaces and enums (typically ending with "3" such as EnvDTE90.HTMLWindow3) with additional methods. So, a Visual Studio 2008 add-in references EnvDTE.dll, EnvDTE90.dl and EnvDTE90.dll.
Office.dll 2002, 2003 This assembly contains the commandbar model for borrowed from Office.
Microsoft.VisualStudio.CommandBars.dll 2005, 2008 This assembly contains the commandbar model specific for Visual Studio 2005, replacing Office.dll. The model is the same, but this dll does not contain stuff that only applies to Office but not to Visual Studio add-ins.
VSLangProj.dll 2002, 2003, 2005, 2008 This assembly contains an additional extensibility model for VB.NET, C# and Visual J# projects. For example, to manage references, that other projects lack. See the Related Articles section at the end of this article.
VSLangProj2.dll 2003, 2005, 2008 This assembly does not replace VSLangProj.dll. Rather, it contains additional enums (that previously you had to hardcode) and interfaces.
VSLangProj80.dll 2005, 2008 This assembly does not replace VSLangProj.dll or VSLangProj2.dll. Rather, it contains additional enums (that previously you had to hardcode) and interfaces.
VSLangProj90.dll 2008 This assembly does not replace VSLangProj.dll, VSLangProj2.dll or VSLangProj80.dll. Rather, it contains additional enums (that previously you had to hardcode) and interfaces.
VsWebSite.Interop.dll 2005, 2008 This assembly contains the extensibility model for the new Web Site project type introduced in Visual Studio 2005. See the Related Articles section at the end of this article.
VsWebSite.Interop90.dll 2008 This assembly does not replace VsWebSite.Interop.dll. Rather, it contains additional enums (that previously you had to hardcode) and interfaces.

Notice that these assemblies are in two folders:

  • Visual Studio folders such as:

C:\Program Files\Microsoft Visual Studio .NET 2003\Common7\IDE\PublicAssemblies
C:\Program Files\Microsoft Visual Studio 8\Common7\IDE\PublicAssemblies
C:\Program Files\Common Files\Microsoft Shared\MSENV\PublicAssemblies
Etc.

These folders are intended for development purposes.

  • The Global Assembly Cache (GAC). The GAC is typically the folder C:\Windows\Assembly and although it is internally a set of folders, there is a shell viewer that shows the assemblies as a single list.

    This folder is for deployment purposes, which means that you don't have to include these assemblies in your setup (they are already on the target machine) and that you shouldn't reference assemblies in this folder (you should use the previous folders).

Related articles

Go back to the 'Resources for Visual Studio .NET extensibility' section for more articles like this

MZ-Tools 6.0 for Visual Studio .NET

You can code, design, locate code and document your apps much faster using VB.NET, C#, C++ or Visual J#:

Buy MZ-Tools Now Download MZ-Tools Demo

   Top