Deploying a Rendering Extension
After you have written and compiled your Reporting Services report rendering extension into a .NET Framework library, you need to make it discoverable by the report server and by Report Designer. To do so, copy the extension to the appropriate directory and add entries to the appropriate Reporting Services configuration files.
Configuration File Rendering Extension Element
Once a rendering extension has been compiled into a .DLL, you add an entry into the rsreportserver.config file, located in C:\Program Files\Microsoft SQL Server\MSSQL\Reporting Services\ReportServer\Bin folder, if the default installation location was selected during installation. The parent element is <Render>. Under the Render element is an Extension element for each rendering extension. The Extension element contains two attributes, Name and Type.
The following table describes the attributes for the Extension element for rendering extensions.
Attribute | Description |
---|---|
Name |
A unique name for the extension, for example, "EXCEL" for the Microsoft Excel rendering extension. The maximum length for the Name attribute is 255 characters. The name must be unique among all entries within the Extensions element of a configuration file. If a duplicate name is present, the report server returns an error. |
Type |
A comma-separated list that includes the fully qualified namespace along with the name of the assembly. |
Visible |
A value of false indicates that the rendering extension should not be visible in user interfaces. If the attribute is not included, the default value is true. |
For more information about the Rsreportserver.config file, see RSReportServer Configuration File.
Deploying the Extension to the Report Server
The report server uses rendering extensions for exporting reports to other formats. You should deploy your rendering extension assembly to the report server as a private assembly. You also need to make an entry in the report server configuration file, rsreportserver.config.
To deploy the assembly
Copy your assembly from your staging location to the bin directory of the report server on which you want to use the rendering extension. The default location of the report server Bin directory is C:\Program Files\Microsoft SQL Server\MSSQL\Reporting Services\ReportServer\Bin.
After the assembly file is copied, open the rsreportserver.config file. The rsreportserver.config file is also located in the report server bin directory. You need to make an entry in the configuration file for your extension assembly file. You can open the file with Microsoft Visual Studio .NET or a simple text editor, such as Notepad.
For more information, see RSReportServer Configuration File.Locate the Render element in the Rsreportserver.config file. An entry for your newly created extension should be made in the following location:
<Extensions> <Render> <Your extension configuration information goes here> </Render> </Extensions>
Add an entry for your rendering extension. Your entry should include an element with values for Name and Type, and might look like the following:
<Extension Name="My Rendering Extension Name" Type="CompanyName.ExtensionName.MyRenderingProvider, AssemblyName" />
The value for Name is the unique name of the rendering extension. The value for Type is a comma-separated list that includes an entry for the fully qualified namespace of your RenderingExtension class, followed by the name of your assembly (not including the .dll file extension). By default, rendering extensions are visible. To hide an extension from user interfaces, such as Report Manager, add a Visible attribute to the Extension element, and set it to false.
Verifying the deployment
You can verify whether your rendering extension was deployed successfully to the report server by using the Web service ListExtensions method. You can also open Report Manager and verify that your extension is included in the list of available export types for a report.
See Also
Concepts
Implementing a Rendering Extension
Introducing Rendering Extensions
Implementing the IRenderingExtension Interface
Security Considerations for Extensions