title | description | author | ms.author | ms.date | ms.service | ms.subservice | ms.topic | ms.custom | helpviewer_keywords | ||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|
Create a data processing extension library |
Learn how to create a Reporting Services data processing extension. View sample code, and see which namespace and library file requirements you need to meet. |
kfollis |
kfollis |
09/25/2024 |
reporting-services |
extensions |
reference |
|
|
Each [!INCLUDEssRSnoversion] data processing extension you create should be assigned to a unique namespace and built into a library or assembly file. The exact name of the namespace isn't important, but it must be unique and not shared with any other extension. [!INCLUDEmsCoName] uses the namespace xref:Microsoft.ReportingServices.DataProcessing for the data processing extensions that ship with [!INCLUDEssRSnoversion]. You should create your own unique namespaces for your company's data processing extensions.
The following example shows the code to begin a [!INCLUDEssRSnoversion] data processing extension, which uses the namespaces that contain the data processing interfaces and any utility classes.
Imports System
Imports Microsoft.ReportingServices.DataProcessing
Imports Microsoft.ReportingServices.Interfaces
Namespace CompanyName.ExtensionName
...
using System;
using Microsoft.ReportingServices.DataProcessing;
using Microsoft.ReportingServices.Interfaces;
namespace CompanyName.ExtensionName
{
...
When compiling a [!INCLUDEssRSnoversion] data processing extension, you must supply to the compiler a reference to Microsoft.ReportingServices.Interfaces.dll, because the data processing extension interfaces are contained there. The xref:Microsoft.ReportingServices.DataProcessing namespace is needed to implement the data processing extension interfaces, and the xref:Microsoft.ReportingServices.Interfaces namespace is needed to implement the xref:Microsoft.ReportingServices.Interfaces.IExtension interface. For example, if all the files containing the code to implement a [!INCLUDEssRSnoversion] data processing 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 [!INCLUDEmsCoName] [!INCLUDEvisual-basic] files with the extension .vb.
vbc /t:library /out:CompanyName.ExtensionName.dll *.vb /r:System.dll /r:Microsoft.ReportingServices.Interfaces.dll