2011-02-23 5 views
18

Je suis nouveau sur SharePoint et j'essaie de contourner ce problème. J'ai un projet WebPart simple. J'ai également un projet de couche de données personnalisé qui utilise Microsoft Enterprise Library pour l'accès aux données. Dans le projet de composant WebPart, j'ajoute une référence à l'assembly du projet de couche de données. J'ai spécifié dans le projet Package du composant Web Part que je veux que l'assembly de ma couche de données soit déployé. Je peux vérifier cela fonctionne en utilisant des classes ADO.NET standard et pas la bibliothèque MS personnalisée. Si je déployer sur le serveur SharePoint (que j'ai accès à 100%) à la variable Enterprise Library, je reçois le message d'erreur:Déploiement de dll personnalisées dans SharePoint 2010

« Impossible de charger le fichier ou l'assembly « Microsoft.Practices.EnterpriseLibrary.Data »

Quelles sont les étapes à suivre pour que ce projet et tous les futurs projets sur le serveur puissent facilement accéder à la bibliothèque d'entreprise pour l'accès aux données?

Merci!

Répondre

33

Vous avez tout corrigé jusqu'à un certain point: Déploiement. Lors du déploiement de DLL externes, qui doivent également être placées dans le GAC ou ailleurs, vous devez également les empaqueter avec le WSP. Cela est devenu très facile avec Visual Studio 2010:

  1. Ouvrez votre paquet
  2. Cliquez sur "Avancé" (sur le fond)
  3. Ajoutez votre DLL externe et peut-être même SafeControls pour le web.config
+0

Merci, cela a fonctionné. Une question de suivi cependant: Il semble déployer au GAC. Est-ce que cela signifie pour les futurs projets, je ne dois pas encore emballer la même DLL? – Mike

+0

Oui, c'est correct. Il est déployé dans ce projet - le problème est que si vous rétractez cette solution, la DLL est également retirée du GAC et tous vos autres projets échoueront. Donc soit vous l'ajoutez à tous les projets afin qu'il soit toujours déployé - ou vous créez une fonctionnalité "Déploiement" personnalisée, qui ne fournit que cette DLL et d'autres choses que vous voulez toujours avoir. –

+0

Excellent. Merci encore. – Mike

Questions connexes