Hinweis
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, sich anzumelden oder das Verzeichnis zu wechseln.
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, das Verzeichnis zu wechseln.
Von Tom Dykstra
In dieser Lernprogrammreihe wird gezeigt, wie Sie mithilfe von Visual Studio 2012 oder Visual Studio 2010 eine ASP.NET Webanwendung für Azure-App Service Web-Apps oder einem Drittanbieter-Hostinganbieter bereitstellen (veröffentlichen). Informationen zur Reihe finden Sie im ersten Lernprogramm in der Reihe.
Übersicht
In diesem Lernprogramm erfahren Sie, wie Sie die Visual Studio-Webveröffentlichungspipeline über die Befehlszeile aufrufen. Dies ist nützlich für Szenarien, in denen Sie den Bereitstellungsprozess automatisieren möchten, anstatt ihn manuell in Visual Studio auszuführen, in der Regel mithilfe eines Quellcodeverwaltungssystems.
Ändern der Bereitstellung
Aktuell zeigt die Seite "Info" den Vorlagencode an.

Sie ersetzen dies durch Code, der eine Zusammenfassung der Schülerregistrierung anzeigt.
Öffnen Sie die About.aspx Seite, löschen Sie das gesamte Markup innerhalb des MainContentContent Elements, und fügen Sie das folgende Markup an dessen Stelle ein:
<h2>Student Body Statistics</h2>
<asp:ObjectDataSource ID="StudentStatisticsObjectDataSource" runat="server" TypeName="ContosoUniversity.BLL.SchoolBL"
SelectMethod="GetStudentStatistics" DataObjectTypeName="ContosoUniversity.DAL.EnrollmentDateGroup">
</asp:ObjectDataSource>
<asp:GridView ID="StudentStatisticsGridView" runat="server" AutoGenerateColumns="False"
DataSourceID="StudentStatisticsObjectDataSource">
<Columns>
<asp:BoundField DataField="EnrollmentDate" DataFormatString="{0:d}" HeaderText="Date of Enrollment"
ReadOnly="True" SortExpression="EnrollmentDate" />
<asp:BoundField DataField="StudentCount" HeaderText="Students" ReadOnly="True"
SortExpression="StudentCount" />
</Columns>
</asp:GridView>
Führen Sie das Projekt aus, und wählen Sie die Seite "Info " aus.

Bereitstellen auf Test mithilfe der Befehlszeile
Sie werden keine weitere Datenbankänderung bereitstellen. Deaktivieren Sie daher die DbDacFx-Datenbankbereitstellung für die Aspnet-ContosoUniversity-Datenbank. Öffnen Sie den Assistenten "Web veröffentlichen", und deaktivieren Sie in jedem der drei Veröffentlichungsprofile das Kontrollkästchen "Datenbank aktualisieren" auf der Registerkarte "Einstellungen ".
Suchen Sie auf der Windows 8-Startseite nach der Entwickler-Eingabeaufforderung für VS2012.
Klicken Sie mit der rechten Maustaste auf das Symbol für die Entwickler-Eingabeaufforderung für VS2012 , und klicken Sie auf "Als Administrator ausführen".
Geben Sie den folgenden Befehl an der Eingabeaufforderung ein, und ersetzen Sie den Pfad zur Lösungsdatei durch den Pfad zu Ihrer Lösungsdatei:
msbuild C:\ContosoUniversity\ContosoUniversity.sln /p:DeployOnBuild=true /p:PublishProfile=Test
MSBuild erstellt die Lösung und stellt sie in der Testumgebung bereit.

Öffnen Sie einen Browser, und wechseln Sie zu " und klicken Sie dann auf die Seite "http://localhost/ContosoUniversityInfo", um zu überprüfen, ob die Bereitstellung erfolgreich war.
Wenn Sie keine Kursteilnehmer im Test erstellt haben, wird unter der Überschrift "Statistik der Kursteilnehmer" eine leere Seite angezeigt. Wechseln Sie zur Seite "Kursteilnehmer ", klicken Sie auf "Kursteilnehmer hinzufügen", und fügen Sie einige Kursteilnehmer hinzu, und kehren Sie dann zur Seite " Info " zurück, um Schülerstatistiken anzuzeigen.

Befehlszeilenoptionen für Tastenkombinationen
Der von Ihnen eingegebene Befehl hat den Lösungsdateipfad und zwei Eigenschaften an MSBuild übergeben:
msbuild C:\ContosoUniversity\ContosoUniversity.sln /p:DeployOnBuild=true
/p:PublishProfile=Test
Bereitstellen der Lösung im Vergleich zur Bereitstellung einzelner Projekte
Wenn Sie die Lösungsdatei angeben, werden alle Projekte in der Lösung erstellt. Wenn Sie über mehrere Webprojekte in der Lösung verfügen, gilt das folgende MSBuild-Verhalten:
- Die Eigenschaften, die Sie in der Befehlszeile angeben, werden an jedes Projekt übergeben. Daher muss jedes Webprojekt über ein Veröffentlichungsprofil mit dem von Ihnen angegebenen Namen verfügen. Wenn Sie angeben
/p:PublishProfile=Test, muss jedes Webprojekt über ein Veröffentlichungsprofil mit dem Namen "Test" verfügen. - Sie können ein Projekt erfolgreich veröffentlichen, wenn ein anderes projekt nicht einmal erstellt wird. Weitere Informationen finden Sie im Stackoverflow-Thread MSBuild mit zwei Paketen.
Wenn Sie ein einzelnes Projekt anstelle einer Projektmappe angeben, müssen Sie einen Parameter hinzufügen, der die Visual Studio-Version angibt. Wenn Sie Visual Studio 2012 verwenden, ähnelt die Befehlszeile dem folgenden Beispiel:
msbuild C:\ContosoUniversity\ContosoUniversity\ContosoUniversity.csproj /p:DeployOnBuild=true /p:PublishProfile=Test /p:VisualStudioVersion=11.0
Die Versionsnummer für Visual Studio 2010 ist 10.0. Weitere Informationen finden Sie in Visual Studio-Projektkompatibilität und VisualStudioVersion im Blog von Sayed Hashimi.
Angeben des Veröffentlichungsprofils
Sie können das Veröffentlichungsprofil anhand des Namens oder durch den vollständigen Pfad zur PUBXML-Datei angeben, wie im folgenden Beispiel gezeigt:
msbuild C:\ContosoUniversity\ContosoUniversity.sln /p:DeployOnBuild=true /p:PublishProfile=C:\ContosoUniversity\ContosoUniversity\Properties\PublishProfiles\Test.pubxml
Für die Befehlszeilenveröffentlichung unterstützte Webveröffentlichungsmethoden
Drei Veröffentlichungsmethoden werden für die Befehlszeilenveröffentlichung unterstützt:
MSDeploy- Veröffentlichen mithilfe von Web Deploy.Package– Veröffentlichen durch Erstellen eines Web Deploy-Pakets. Sie müssen das Paket separat vom MSBuild-Befehl installieren, der es erstellt.FileSystem- Veröffentlichen Durch Kopieren von Dateien in einen angegebenen Ordner.
Angeben der Buildkonfiguration und -plattform
Die Buildkonfiguration und Plattform muss in Visual Studio oder in der Befehlszeile festgelegt werden. Die Veröffentlichungsprofile enthalten Eigenschaften, die benannt LastUsedBuildConfiguration sind und LastUsedPlatform, aber Sie können diese Eigenschaften nicht festlegen, um zu bestimmen, wie das Projekt erstellt wird. Weitere Informationen finden Sie unter MSBuild: Festlegen der Konfigurationseigenschaft im Blog von Sayed Hashimi.
Zusammenfassung
Sie haben nun ein Anwendungsupdate mithilfe der Befehlszeile bereitgestellt.

Im nächsten Lernprogramm sehen Sie ein Beispiel für das Erweitern der Webveröffentlichungspipeline. Im Beispiel wird gezeigt, wie Sie Dateien bereitstellen, die nicht im Projekt enthalten sind.