[ SSIS : Sql Server Integration Services ]
Descrizione del problema : referenziare una classlibrary esterna da una o più componenti di scripting, dall’interno di un progetto SSIS in Visual Studio .NET (2005)
Da questo problema, avuto qualche giorno fa, vi riporto la soluzione che ho trovato io :
- Creare una classlibrary nella solution, diciamo ClassLibrary1, in un qualunque linguaggio .NET
- Compilare l’assembly facendo attenzione a firmarlo
- Solution Explorer > proprietà della ClassLibrary1
- voce “Signing” > check su “Sign the assembly”
- listbox “Choose a strong name key file” > utilizzare un key file (file della firma) se già presente, oppure crearne uno nuovo con un nome relativo al progetto magari (con estensione .pfx) > inserire una password per la firma quando richiesta
- salvare le impostazioni con il pulsante di salvataggio in alto nella barra di visual studio
- Una volta compilata correttamente la ClassLibrary1, copiare l’assembly nella directory “C:\WINDOWS\Microsoft.NET\Framework\v2.0.50727″
- Aggiungere l’assembly nella GAC
- Pannello di controllo > Strumenti di Amministrazione > Microsoft .NET framework 2.0 Configuration > Assembly Cache
- Add an assembly to the assembly cache > selezionare l’assembly dalla directory del framework (dove è stato copiato nel precedente step 3)
- Utilizziamo la ClassLibrary1
- Solution Explorer > progetto SSIS > package di riferimento, diciamo Package1
- Aprire il Package1 in design, andare sullo Script Task
- Tasto destro sullo Script Task > Edit > Script > Design Script > Project Explorer > Reference
- Add Reference > Aggiungere l’assembly ClassLibrary1 dalla directory del framework > Aggiungere la direttiva “Imports” in testa al file della classe che si sta utilizzando come script, indicando il namespace di utilizzo> Utilizzare le classi che sono state definite nella ClassLibrary1
Le informazioni sono state raccolte da internet nelle varie community e chiaramente da MSDN.
Per correzioni, chiarimenti e/o altre informazioni inserite un commento.
