J'ai ceci pour travailler en utilisant un exemple très basique (décrit ci-dessous) et je veux voir si d'autres SO ont l'expérience de faire ce que j'essaye ... en utilisant un assembly de framework 3.5 dans une tâche de script dans SSIS 2005.Référence un assembly .net 3.5 dans une tâche de script dans SSIS 2005?
J'ai essentiellement suivi la page trouvée here ... sauf que je ciblé le cadre 3,5 alors que dans Visual studio 2008.
Ecrire/compiler votre code (ciblé le cadre 3.5) Juste quelques Linq simples de sorte que j'utilise une fonctionnalité de cadre supérieure à 2.0
using System; using System.Collections.Generic; using System.Text; using System.Linq; namespace Ext { public class Extend { public string GetValue() { /* Test Linq to "prove" that we're not running against the 2.0 framework. I know this code could be improved, but bear with me... it's throwaway code just to test the concept */ string [] teststring = new string [3]; teststring[0] = "named Extend"; string returnString = String.Empty; var s = teststring.Where(x => x.ToString() == "named Extend"); foreach (var x in s) { returnString = x.ToString(); } return "Extending Script Task through a custom library " + returnString; } } }
- lui a donné un nom fort clé
- Ajouté l'ensemble au GAC en utilisant gacutil
- Copié l'ensemble à la C: \ Windows \ Microsoft.NET \ Framework \ v2.0.50727 dossier ... dev
Machine exécute Windows 7 - créé une tâche de script et a ajouté une référence à l'ensemble
Dans la tâche de script
Dim x As New Extend() MsgBox(x.GetValue.ToString())
Il fonctionne bien cuz quand je lance le projet SSIS je reviens une boîte de message avec le texte
« L'extension de tâche de script dans une bibliothèque personnalisée nommée Extend »
Alors ... ma question est ce que le projet SSIS/La tâche de script fonctionne quand j'essaie de faire des choses plus sophistiquées ... surtout quand j'appelle mon assembly (qui doit encore être écrit) qui utilise LinqToEntities?
Il me semble étrange que je doive copier le fichier dans le dossier Framework 2.0 et l'ajouter au GAC ... mais c'est peut-être juste une exigence étrange de SSIS ... Je sais que je ne peux pas ajouter la référence dans la tâche de script, sauf si cet assemblage se trouve dans le dossier Framework 2.0 ...