Frage

Wenn ich meine baue ASP.NET Webanwendung erhalte ich eine .dll-Datei mit dem Code für die Website darin (was großartig ist), aber die Website benötigt auch alle .aspx-Dateien und Freunde, und diese müssen in der richtigen Verzeichnisstruktur abgelegt werden.Wie kann ich das alles als Ergebnis jedes Builds in einem Verzeichnis abrufen?Der Versuch, die richtigen Dateien aus dem Quellverzeichnis auszuwählen, ist mühsam.

Das Endergebnis sollte xcopy-bereitstellbar sein.

Aktualisieren: Ich möchte den mir bekannten Befehl „Veröffentlichen“ nicht manuell verwenden müssen.Ich möchte, dass der gesamte Dateisatz, den die Anwendung benötigt, als Build-Ausgabe verwendet wird. Das bedeutet, dass ich bei der Ausführung auch den gesamten Dateisatz an einem Ort erhalte MSBuild.

War es hilfreich?

Lösung

Eine Lösung erscheint Web Deployment Projects (WDPs), ein Add-On für Visual Studio (und msbuild) zur Verfügung, die ein Webprojekt in ein Verzeichnis erstellt und kann optional fusionieren Baugruppen und ändern Sie die Datei web.config zu sein. Der Ausgang des Gebäudes ein WDP ist alle Dateien erforderlich, die Website in einem Verzeichnis zu implementieren.

Weitere Informationen über Web Deployment Projects:

  1. Announcement auf webdevtools MSDN-Blog für WDP 2008
  2. ScottGu Einführung in WDP 2005

Der einzige Nachteil an dieser Lösung ist die Anforderung an ein Add-on, die auf dem Build-Rechner zur Verfügung stehen müssen. Dennoch ist es genug für jetzt gut!

Andere Tipps

ASP.NET hat nicht real xcopy Einsatz für neue Sites. Es hängt davon ab, ein virtuelles Verzeichnis / Anwendung in IIS mit. sobald jedoch, dass das virtuelle Verzeichnis erstellt wird Sie xcopy für Updates verwenden können.

Sie können Website veröffentlichen. .Wenn Sie Ihre Bereitstellung automatisieren möchten, müssen Sie einige Skript verwenden.

Haben Sie die aspnet_compiler.exe in Ihrem .net Framework-Verzeichnis versucht, mit? Ich bin mir ziemlich sicher, Sie können „bereit bereitstellen“ Version einer Web-Anwendung oder Website eine erstellen.

Das _CopyWebApplication Ziel auf MSBuild wird genau das tun, was Sie brauchen. Der Haken dabei ist, dass nur die Hauptbaugruppe wird in den Papierkorb-Ordner kopiert werden und deshalb eine Kopie Aufgabe auch benötigt wird, jede andere Datei auf dem Ablageordner zu kopieren.

Ich habe versucht, das Beispielskript als Teil dieser Posten zu Posten, war aber nicht in der Lage.

Bitte werfen Sie einen Blick auf diese Artikel auf meinem Blog, das beschreibt, wie ein MSBuild-Skript ähnlich den erstellen Sie benötigen.

Haben Sie Recht versucht, die Website in Projektmappen-Explorer klicken und Klicken auf 'Veröffentlichen Website'?

Erstellen -> Veröffentlichen

Ein Dialogfeld erscheint, dass Sie durch den Prozess leiten wird.

Für die automatisierten Gebäude Sie im Update beschreiben, würde ich empfehlen, Sie schauen in MSBuild und CruiseControl.NET

Es hängt davon ab, wie kompliziert Lösung, die Sie benötigen, Sie könnten nur ein Skript und jenkins beispielsweise verwenden. Sie können nur für den Einsatz auf einem IIS msbuild mit Jenkins verwenden. Und wenn Sie Jenkins andere Werkzeuge bekommen ist ziemlich einfach später in sie zu verbinden. Aber wenn Sie nur bauen wollen, ein Skript zu verwenden, die jeden Build Jenins ausführen, die MSDeploy verwendet und es wird funktionieren groß.

Dies ist, wie ich es tun, nur um Ihnen ein Gefühl:

Sonarqube verwendet Gallio, Gendarme, FXCop, StyleCop, NDepths und Partcover Ihre Messdaten zu erhalten und all dies ist ziemlich geradlinig, da Sonarqube dies ohne viel Konfiguration automatisch.

Hier ist Jenkins Hexe baut und für die Bereitstellung von automatisch auf IIS Sonar-Metriken und einen anderen Job bekommen. Ich benutze ein einfaches Skript eine Zeile, die mein MSBuild und wich URL aufruft, übergeben und Benutzer.

Und Sonarqube alle Metriken für mein Projekt. Dies ist ein einfacher MVC4 app, aber es funktioniert super!

Wenn Sie weitere Informationen möchten, kann ich Ihnen mit einem guten Führer.

Das gesamte Setup verwendet MSBuild, zu bauen und die Anwendungen bereitstellen.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top