The .NET platform or any product comes with tons and tons of
assemblies. Some of the assemblies are stored with the product exe. The first
task while writing the add-in is to determine the assemblies we will need. The
assembly information (as per my knowledge) is not documented anywhere on the
Microsoft website. You will have to do plenty of trial and error to find the
exact solution that might work for you. The assemblies required for SSMS are
located under
C:\Program Files\Microsoft SQL Server\90\SDK\Assemblies\
AND
C:\Program Files\Microsoft SQL Server\90\Tools\Binn\VSShell\Common7\IDE\
Please note the assembly locations can be guessed looking at
the folder structure. Anything related to IDE will be located under C:\Program
Files\Microsoft SQL Server\90\Tools\Binn\VSShell\Common7\IDE\.
Based on your requirement needs, you will have to do some
research to find the assemblies that are required for your application.
In order to use SQL Management Objects (SMO) we need to include
the following assemblies: Microsoft.sqlServer.ConnectionInfo and
Microsoft.sqlServer.RegSvrEnum.
SMO are objects designed for programmatic management of
Microsoft SQL Server. You can use SMO to build customized SQL Server Management
applications.
As we were working on an Add-In which would be accessed by
right clicking on the database or table name in the object explorer, we had to
find the assembly which would allow us to do that. That is when we found the
use of an assembly called objectexplorer.
In our product, I was also looking forward to displaying the
stored procedure in a new Query Window. So, I found out that I could reference
the following assemblies to do that:
Microsoft.sqlserver.sqltools.VSIntegration
sqlWorkbench.Interfaces
Also, if your add-in will be displaying some windows model
forms then you might have to include System.Windows.Forms.
The assembly references will totally depend on your
application.