SharePoint: Assemblies/Dlls in WSP einbinden

Manchmal hat mit in einem SharePoint-Visual-Studio-Projekt abhängigkeiten zu einem anderen Projekt oder gar zu externen DLLs.

Mittels „References“ können die Referenzen auf diese DLLs festgelegt werden, so dass die Klassen, Methoden etc. dieser Objekte zur Verfügung stehen und mittels „Project Dependencies“ kann man die Abhängigkeiten beeinflussen, so dass die korrekte Build-Reihenfolge geplant wird. Aber wir kann man sicherstellen, dass eine externe, welche nicht aus dem aktuellen Projekt kommt, DLL auch wirklich mitausgeliefert wird, wenn man die Solution als WSP auf dem Zielserver installiert?

SharePoint bietet hierfür eine einfache Möglichkeit. Man kann im „Solution Explorer“ innerhalb des gewünschten Projektes den Package-Knoten öffnen und dort das Package öffnen:

In der nun erscheinenden Ansicht des Package muss man im unteren Bereich des Fensters auf „Advanced“ klicken um die Ansicht zu wechseln:

In dieser Advanced-Ansicht werden alle zusätzlichen Assemblies aufgelistet. Mit einem Klick auf „Add“ kann man einen Eintrag hinzufügen. Je nach Quelle der Assembly muss man wählen ob diese aus dem Output eines Projektes entstammt oder aus einer anderen Quelle. Hier zum Beispiel die Ansicht beim hinzufügen einer existierenden Assembly:

SharePoint Package Add Existing Assembly
Dialog für das Hinzufügen einer existierenden Assembly zum Package

Man hat hier zudem die Möglichkeit festzulegen, ob die Assembly auf Stufe WebApplication oder in den GAC deployed werden soll.

Hat man diese Einstellungen vorgenommen, so wird beim nächsten Packaging (Menübefehl: Build -> Package) die jeweilige Assembly ins WSP integriert.