Custom assembly change Should I Recompile my Reports Again:(

I often get asked this question what if I change the custom assembly (which is already deployed in the Production) then do I need to recompile all the RDLs that reference this assembly. Well the answer is if it is supposed to you the newly added feature then yes you will have to recompile isn't it?

But yes if you don't want to use the new feature then you need not recompile or redeploy the RDL again. The only thing which comes to your rescue here is the "BindingRedirect".
BindingRedirect is something that can help you from recompiling the RDL whenever you change the custom assembly.

Binding Redirect will redirect all the requests for the old assembly to the new assembly.
For this you should modify the report server Web.config file and the report server ReportService.exe.config file.

The entry might look like the following:

 

<configuration>
<runtime>
<assemblyBinding xmlns="urn:schemas-microsoft-com:asm.v1">
<dependentAssembly>
<assemblyIdentity name="YourCustomAssemblyName"
publicKeyToken="32ab4ba45e0a69a1"
culture="neutral" />
<bindingRedirect oldVersion="1.0.0.0"
newVersion="2.0.0.0"/>
</dependentAssembly>
</assemblyBinding>
</runtime>
</configuration>

Hope this helps you and also saves your time for recompiling/redeploying the reports.