SQL Practice Blog – SQL Server, BizTalk und .NET Erfahrungen

Kopieren von Assemblies in den GAC mit dem Post-Build Event

leave a comment »

Heute stand ich mal wieder vor dem leidigen Problem ein Assembly dem Global Assembly Cache (GAC) hinzufügen zu müssen. Dieses Szenario ist wohl jedem BizTalk Entwickler bestens bekannt. Man baut sich eine Helper-Klasse mit diversen Funktionen wie z.B. Datenbankzugriff, Berechnungsfunktionen oder Zugriffs-funktionen auf entfernte Systemlandschaften um die Funktionalität von BizTalk zu erweitern.

Möchte man dieses Assembly nun von einem BizTalk Artefakt z.B. einer Orchestration aus aufrufen, so setzt BizTalk voraus das sich dieses Assembly, mit einem Strong Name Key versehen, im GAC befindet. Jetzt kann man einfach nach jedem erfolgreichen kompilieren das Assembly händig in den GAC ziehen oder ein Batch starten der dies erledigt. Viel einfacher ist es jedoch das Assembly mit einem Post-Build Commandline Event direkt nach dem kompilieren in den GAC zu kopieren.
Hierfür bedienen wir uns dem GACUtil aus dem Visual Studio SDK, welches eben für solche Tätigkeit zuständig ist.

Das Script dafür ist äußerst einfach:

"C:\Program Files\Microsoft Visual Studio 8\SDK\v2.0\Bin\gacutil.exe" /i $(TargetPath)

Wer sich jetzt nicht ganz sicher ist, wo er diese Befehlszeile unterbringen soll, kann sich an diesem Screenshot orientieren.

image

Mit der Eigenschaft Run the post-build event: On successful build, kann man sichergehen das dieses Assembly wirklich nur in den GAC kopiert wird, wenn es erfolgreich kompiliert wurde.

Written by Robert Meyer

Mai 18, 2010 um 20:17

Veröffentlicht in BizTalk

Tagged with , , ,

Schreibe einen Kommentar

Trage deine Daten unten ein oder klicke ein Icon um dich einzuloggen:

WordPress.com-Logo

Du kommentierst mit Deinem WordPress.com-Konto. Abmelden / Ändern )

Twitter-Bild

Du kommentierst mit Deinem Twitter-Konto. Abmelden / Ändern )

Facebook-Foto

Du kommentierst mit Deinem Facebook-Konto. Abmelden / Ändern )

Google+ Foto

Du kommentierst mit Deinem Google+-Konto. Abmelden / Ändern )

Verbinde mit %s

%d Bloggern gefällt das: