Udostępnij za pośrednictwem


** ASP.NET wdrażanie aplikacji webowych przy użyciu programu Visual Studio: wdrażanie z linii poleceń

Autor: Tom Dykstra

Pobierz projekt startowy

W tej serii samouczków pokazano, jak wdrożyć (opublikować) aplikację internetową ASP.NET do usługi Azure App Service Web Apps lub do dostawcy hostingu innej firmy, korzystając z programu Visual Studio 2012 lub Visual Studio 2010. Aby uzyskać informacje o serii, zobacz pierwszy samouczek z serii.

Omówienie

W tym poradniku pokazano, jak wywołać potok publikacji sieciowej z poziomu wiersza polecenia w Visual Studio. Jest to przydatne w scenariuszach, w których chcesz zautomatyzować proces wdrażania zamiast wykonywać go ręcznie w programie Visual Studio, zazwyczaj przy użyciu systemu kontroli wersji kodu źródłowego.

Wprowadź zmianę w celu wdrożenia

Obecnie na stronie Informacje jest wyświetlany kod szablonu.

Informacje o stronie z kodem szablonu

Zastąpisz to kodem, który wyświetla podsumowanie rejestracji uczniów.

Otwórz stronę About.aspx, usuń wszystkie znaczniki wewnątrz MainContentContent elementu i wstaw następujący znacznik w jego miejscu:

<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>

Uruchom projekt i wybierz stronę Informacje .

Strona — informacje

Wdrażanie do testowania przy użyciu wiersza polecenia

Nie wdrożysz innej zmiany bazy danych, dlatego wyłącz wdrożenie bazy danych dbDacFx dla bazy danych aspnet-ContosoUniversity. Otwórz Kreator Publikowania w Sieci Web, a w trzech profilach publikowania wyczyść pole wyboru Aktualizuj bazę danych na karcie Ustawienia.

Na stronie Start systemu Windows 8 wyszukaj ciąg Wiersz polecenia dla deweloperów dla programu VS2012.

Kliknij prawym przyciskiem myszy ikonę wiersza polecenia dla deweloperów dla programu VS2012 i kliknij polecenie Uruchom jako administrator.

Wprowadź następujące polecenie w swoim wierszu polecenia, zastępując ścieżkę do pliku rozwiązania ścieżką do swojego pliku rozwiązania.

msbuild C:\ContosoUniversity\ContosoUniversity.sln /p:DeployOnBuild=true /p:PublishProfile=Test

Program MSBuild kompiluje rozwiązanie i wdraża je w środowisku testowym.

Dane wyjściowe wiersza polecenia

Otwórz przeglądarkę i przejdź do http://localhost/ContosoUniversitystrony , a następnie kliknij stronę Informacje , aby sprawdzić, czy wdrożenie zakończyło się pomyślnie.

Jeśli nie stworzyłeś żadnych uczniów w teście, zobaczysz pustą stronę pod nagłówkiem Statystyki uczniów. Przejdź do strony Uczniowie , kliknij pozycję Dodaj ucznia i dodaj uczniów, a następnie wróć do strony Informacje , aby wyświetlić statystyki uczniów.

Zrzut ekranu przedstawiający statystyki ciała studenckiego na stronie 'O nas'.

Kluczowe opcje wiersza polecenia

Polecenie, które wprowadziłeś, przekazało do programu MSBuild ścieżkę pliku rozwiązania oraz dwie właściwości.

msbuild C:\ContosoUniversity\ContosoUniversity.sln /p:DeployOnBuild=true 
/p:PublishProfile=Test

Wdrażanie rozwiązania w porównaniu z wdrażaniem poszczególnych projektów

Określenie pliku rozwiązania powoduje skompilowanie wszystkich projektów w rozwiązaniu. Jeśli w rozwiązaniu znajduje się wiele projektów internetowych, ma zastosowanie następujące zachowanie programu MSBuild:

  • Właściwości określone w wierszu polecenia są przekazywane do każdego projektu. W związku z tym każdy projekt internetowy musi mieć profil publikowania o określonej nazwie. Jeśli określisz /p:PublishProfile=Test, każdy projekt webowy musi mieć profil publikowania o nazwie Test.
  • Możesz pomyślnie opublikować jeden projekt, gdy inny nawet nie zostanie skompilowany. Aby uzyskać więcej informacji, sprawdź wątek na StackOverflow MSBuild nie powiódł się z dwoma pakietami.

Jeśli określisz pojedynczy projekt zamiast rozwiązania, musisz dodać parametr określający wersję programu Visual Studio. Jeśli używasz programu Visual Studio 2012, wiersz polecenia będzie podobny do następującego przykładu:

msbuild C:\ContosoUniversity\ContosoUniversity\ContosoUniversity.csproj /p:DeployOnBuild=true /p:PublishProfile=Test /p:VisualStudioVersion=11.0

Numer wersji programu Visual Studio 2010 to 10.0. Aby uzyskać więcej informacji, zobacz zgodność projektów programu Visual Studio oraz VisualStudioVersion na blogu Sayed Hashimi.

Określanie profilu publikowania

Profil publikowania można określić według nazwy lub pełnej ścieżki do pliku pubxml , jak pokazano w poniższym przykładzie:

msbuild C:\ContosoUniversity\ContosoUniversity.sln /p:DeployOnBuild=true /p:PublishProfile=C:\ContosoUniversity\ContosoUniversity\Properties\PublishProfiles\Test.pubxml

Metody publikowania w sieci Web obsługiwane na potrzeby publikowania w wierszu polecenia

W przypadku publikowania w wierszu polecenia obsługiwane są trzy metody publikowania:

  • MSDeploy — Publikowanie przy użyciu narzędzia Web Deploy.
  • Package — Opublikuj, tworząc pakiet Web Deploy. Należy zainstalować pakiet oddzielnie od polecenia MSBuild, które go tworzy.
  • FileSystem — Publikuj, kopiując pliki do określonego folderu.

Określanie konfiguracji kompilacji i platformy

Konfiguracja kompilacji i platforma muszą być ustawione w programie Visual Studio lub w wierszu polecenia. Profile publikowania zawierają właściwości o nazwach LastUsedBuildConfiguration i LastUsedPlatform, ale nie można ustawić tych właściwości w celu określenia sposobu kompilowania projektu. Aby uzyskać więcej informacji, zobacz MSBuild: jak ustawić właściwość konfiguracji na blogu Sayed Hashimi.

Podsumowanie

Teraz wdrożono aktualizację aplikacji przy użyciu wiersza polecenia.

Zrzut ekranu przedstawiający stronę O z wyświetlonymi statystykami dotyczącymi liczby studentów.

W następnym samouczku zobaczysz przykład sposobu rozszerzenia potoku publikacji internetowych. W przykładzie pokazano, jak wdrożyć pliki, które nie są uwzględnione w projekcie.