Ich habe gerade Robert’s Beitrag HowTo: Windows Azure & ASP.NET MVC 3 – was braucht man für DLLs? gelesen und wollte kurz noch eine weitere Möglichkeit des Deployments vorstellen. Es gibt nämlich ein neuen Kontextmenü Eintrag mit dem Namen “Add Deployable Dependencies…” den man benutzen kann.

add-deployable-dependencies

Dieser bringt einen Dialog hoch der fragt ob man nun ASP.NET Web Pages oder SQL Server Compact mit Deployen möchte.

dependencies dialog

Nach der Auswahl werden entsprechend die Notwendigen Assemblies in ein Verzeichnis mit dem Namen _bin_deployable hinzugefügt. Und zwar alle die Notwendig sind.

references

Das ganze lässt sich nun schön skripten und in mittels Webdeploy installieren. Dazu baut man nun ein Deployment Paket

build-deployment-package

und installiert es mittels Kommandozeile auf den Server. In meinem Beispiel habe ich mehrere Root Verzeichnisse auf verschiedenen Host-Headern gemapped. Das Root-Verzeichnis das ich benutzen möchte heißt Writelines. Dementsprechend passe ich noch die Datei {projekt-name}.SetParameters.xml an (Projektname durch den Output-Projektnamen austauschen).

   1: <?xml version="1.0" encoding="utf-8"?>
   2: <parameters>
   3:   <setParameter name="IIS Web Application Name" value="Writelines" />
   4: </parameters>

Zu guter Letzt kann man nun das Deployment starten. Auch das von der Kommandozeile aus, im Verzeichnis des gebauten Paketes. Der untere Screenshot benutzt den Parameter /T, damit wird das Deployment nur durchgespielt aber nicht ausgeführt.

deployment

Wichtig

Add Deployable Dependencies fügt nicht die ASP.NET MVC3 RC2 Dll hinzu und auch nicht System.Data.Entity vom ADO.NET EF4 CTP5. Diese müssen nach wie vor manuell in das Bin Verzeichnis reinkopiert werden, sofern der Zielrechner nicht über diese Pakete verfügt.

DotNetKicks-DE Image