Today’s post is from Rujin Cao – a developer on the SSIS team based in Shanghai. This article talks about the .NET assembly binding we include in our .exes by default, which makes migrating custom SSIS code to Denali a lot easier. Note that while this is a good work around, recompiling your code to target the Denali versions of the SSIS assemblies is still recommended.
Upgrading custom extensions and applications which used the SSIS object model from 2005 to 2008 required some code changes. One of the goals in SQL Server “Denali” was to make this process easier. In general, most .NET custom extensions (i.e. ones that use the ManagedDTS API) will not need to be recompiled or require code changes, and most custom applications will just need to update their .exe.config file.
For custom SSIS extensions, we added four binding redirection rules in the *.exe.config of DTExec.exe, DTExecUI, dtshost.exe, DTSWizard.exe and DTUtil.exe to help redirect the runtime assemblies from version 10.0.0.0(in SQL Server 2008(R2)) to version 126.96.36.199(SQL Server “Denali”). Here it is (you can also see it in“%ProgramFiles%\Microsoft SQL Server\110\DTS\Binn\DTExec.exe.config” after installing Denali):
The four redirected assemblies are:
If you are using some other version 10.0.0.0 assemblies (for example, the 188.8.131.52 assemblies from SQL Server 2005), you might have to add more rules in the *.exe.config files to redirect them to the Denali version 184.108.40.206.
For the custom SSIS application, the process is much similar. You can create one configuration file (i.e. *.exe.config) for the executable (if it doesn’t have one), and put the above redirect rules into configuration section, more details can be found here.
So does this work in Visual Studio 2010 so that custom components built for 2008 R2 can be used in development?
There seems to be an answer here: svenaelterman.wordpress.com/.../using-ssis-2008-components-in-sql-server-data-tools-with-ssis-2012
Even if I change .config file i get following error in my application: "could not load file or assembly 'microsoft.sqlserver.manageddts version=10.0.0.0..."