SSIS 2008 uses .NET 2.0 as the standard framework version for Script Tasks and Script Components, but in some cases (Service Reference, Linq, etc) you need a higher .NET framework version. How do you change the framework?
Solution
SSIS 2008 supports 3.5 and lower (, but the standard is 2.0). SSIS 2012 supports 4.0 and lower (which is also the standard). Here is how you change it in VB.net and C#.
1) Edit Script
Edit the Script Task or Script Component so that vsta editor is open.
2) Project properties
Right click the project in the Project Explorer (SSIS 2008) / Solution Explorer (SSIS 2012) and select [Properties].
SSIS 2008 |
SSIS 2012 |
3a) Change framework version VB.Net
Go to the Compile tab in the properties page and hit the [Advanced Compile Options...] button. This will open a popup where you can change the framework version in the Target framework dropdownbox. After that hit the OK button and confirm the changes.
5 steps in VB.Net |
3b) Change framework version C#
Go to the Application tab in the properties page and there you can change the framework version in the Target framework dropdownbox. After that you have to confirm the changes.
3 steps in C# |
4) The result
The framework has been changed and all script windows are closed. Open scriptMain.cs / scriptMain.vb (script task) or main.cs / main.cb (script component) to continue scripting.
Thanks Friend
ReplyDeleteI did what you suggested, and was able to add the WindowsBase reference (.net 3.0) but when I tried to add my namespace import, I got a green squiggly line. When I hovered over it, I see "Namespace or type specified in the Imports 'System.IO.Packaging' doesn't contain any public member or cannot be found. Make sure the namespace or the type is defined and contains at least one public member. Make sure the import element name doesn't use any aliases"
ReplyDeleteMy problem is that I'm following MSDN on how to zip files, and it uses system.io.packaging, so I'm just wondering what I'm doing wrong?
Did you, besides adding a namespace, also add a reference to WindowsBase? See
Deletehttp://blogs.msdn.com/b/dmahugh/archive/2006/12/14/finding-windowsbase-dll.aspx
This doesn't seem to work. I get the following error as a result:
ReplyDeleteThe binary code for the script is not found. Please open the script in the designer by clicking Edit Script button and make sure it builds successfully.
Hi Beemer,
DeleteYou have to give a little more details... which SSIS version are you using? Does it concern a Script Task or Component? Does the .Net code build?
Regards,
Joost