Creating a Delivery Extension Library

Each Reporting Services delivery extension you create should be assigned to a unique namespace and built into a library or assembly file. The exact name of the namespace is not important, but it must be unique and not shared with any other extension. You should create your own unique namespaces for your company's delivery extensions.

The following example shows the code to begin a Reporting Services delivery extension, which uses the namespaces that contain the delivery interfaces and any utility classes.

Imports System
Imports Microsoft.ReportingServices.Interfaces

Namespace CompanyName.ExtensionName
   ...
using System;
using Microsoft.ReportingServices.Interfaces;

namespace CompanyName.ExtensionName
{
   ...

When compiling a Reporting Services delivery extension, you must supply to the compiler a reference to Microsoft.ReportingServices.Interfaces.dll, because the delivery extension interfaces and classes are contained there. The Microsoft.ReportingServices.Interfaces namespace is needed to implement the IExtension interface, the IDeliveryExtension interface, and more. For example, if all the files containing the code to implement a Reporting Services delivery extension written in C# were in a single directory with the extension .cs, the following command would be issued from that directory to compile the files stored in CompanyName.ExtensionName.dll.

csc /t:library /out:CompanyName.ExtensionName.dll *.cs /r:System.dll 
/r:Microsoft.ReportingServices.Interfaces.dll

The following code example shows the command that would be used for Microsoft Visual Basic files with the extension .vb.

vbc /t:library /out:CompanyName.ExtensionName.dll *.vb /r:System.dll 
/r:Microsoft.ReportingServices.Interfaces.dll

Note

You can also design, develop, and build your delivery extension using Visual Studio. For more information about developing assemblies in Visual Studio, see your Visual Studio documentation.

See Also

Reference

Reporting Services Extension Library

Other Resources

Reporting Services Extensions

Implementing a Delivery Extension