Mittwoch, 10. Februar 2010

VSTO Projekt endlich auf dem Buildserver

Nun habe ich es also endlich geschafft. Mein VSTO Projekt wird auf dem Buildserver vollständig kompiliert. Der Anfang dazu war auch gar nicht so schwer, eigentlich war alles gar nicht schwierig…

Zu Beginn nahm ich die Anleitung von Kent Boogaart zur Hand, die in einem älteren Post beschrieben wurde, und legte los. Punkt 1 …check, Punkt 2 …check, die Punkte 5 und 6 irritierten mich dann aber doch etwas. Wo sollte ich denn die beschriebenen Dlls finden. Halt, Moment – in den GAC registrieren, also liegen sie wohl auf der Entwicklermaschine ebenfalls dort.

Genau so war es auch, aber hat schon mal jemand versucht Assemblies aus dem GAC zu kopieren? Es funktioniert nicht. Nach etwas Suche musste ich feststellen, dass sie in keinem anderen Verzeichnis zu liegen scheinen. Glücklicherweise ist verschwundenes Wissen zurückgekehrt, dass ich bisher auch noch nicht benötigt hatte. Es gibt einen Registry Key, der einem Einblick in die physikalische Sicht des GAC gewährt. Kurz gesucht und gefunden.

Einfach in den Registry Zweig

   [HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Fusion]

falls nicht schon vorhanden, ein neues DWORD DisableCacheViewer eintragen. Der Wert 0 wird als nicht vorhanden gewertet, dass dem Regelfall entspricht. Wird irgendein Wert ungleich eingetragen, zeigt der GAC im Explorer, was er zu bieten hat.

Also, den Wert auf 1 gesetzt, schon zeigte der GAC was er alles hat. Kurzerhand die Dlls herauskopiert und den Wert auf 0 gesetzt. Daraufhin zeigte der GAC wieder die gewohnte gecachte Sicht an.

Die kopierten Dlls nun noch auf den Buildserver kopiert und im GAC registriert, schon lief der erste vollständige Integrationsbuild auf dem Server.

Kurze Schlussanmerkung: Da auf unserem Buildserver nur die .Net Runtime installiert ist, musste ich das gacutil.exe aus dem SDK Verzeichnis der Visual Studio Installation von der Entwicklungsmaschine auf den Server kopieren.

Kick It on dotnet-kicks.de