Sdílet prostřednictvím


ASP.NET nasazení webu pomocí sady Visual Studio: Nasazení příkazového řádku

Tom Dykstra

Stáhnout úvodní projekt

V této sérii kurzů se dozvíte, jak nasadit (publikovat) webovou aplikaci ASP.NET do Aplikace Azure Service Web Apps nebo poskytovatele hostingu třetí strany pomocí sady Visual Studio 2012 nebo Visual Studio 2010. Informace o této sérii najdete v prvním kurzu série.

Přehled

V tomto kurzu se dozvíte, jak vyvolat kanál publikování webu sady Visual Studio z příkazového řádku. To je užitečné ve scénářích, ve kterých chcete automatizovat proces nasazení místo ručního nasazení v sadě Visual Studio, obvykle pomocí systému správy verzí zdrojového kódu.

Provedení změny nasazení

V současné době se na stránce O aplikaci zobrazuje kód šablony.

Stránka s kódem šablony

Nahradíte ho kódem, který zobrazuje souhrn registrace studentů.

Otevřete About.aspx stránku, odstraňte všechny značky uvnitř MainContentContent prvku a vložte na jeho místo následující značky:

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

Spusťte projekt a vyberte stránku O aplikaci .

Stránka O aplikaci

Nasazení do testování pomocí příkazového řádku

Nebudete nasazovat jinou změnu databáze, takže zakažte nasazení databáze dbDacFx pro databázi aspnet-ContosoUniversity. Otevřete Průvodce publikováním webu a v každém ze tří profilů publikování zrušte zaškrtnutí políčka Aktualizovat databázi na kartě Nastavení.

Na úvodní stránce Windows 8 vyhledejte příkazový řádek pro vývojáře pro VS2012.

Klikněte pravým tlačítkem myši na ikonu vývojářského příkazového řádku pro VS2012 a klikněte na Spustit jako správce.

Na příkazovém řádku zadejte následující příkaz a nahraďte cestu k souboru řešení cestou k souboru řešení:

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

Nástroj MSBuild sestaví řešení a nasadí ho do testovacího prostředí.

Výstup příkazového řádku

Otevřete prohlížeč a přejděte na http://localhost/ContosoUniversitystránku O produktu a ověřte, že nasazení proběhlo úspěšně.

Pokud jste v testu nevytvořili žádné studenty, zobrazí se prázdná stránka pod nadpisem Statistika těla studenta . Přejděte na stránku Studenti , klikněte na Přidat studenta a přidejte některé studenty a pak se vraťte na stránku O aplikaci, abyste viděli statistiky studentů.

Snímek obrazovky zobrazující statistiku těla studenta na stránce O aplikaci

Klíčové možnosti příkazového řádku

Zadaný příkaz předal cestu k souboru řešení a dvě vlastnosti nástroji MSBuild:

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

Nasazení řešení a nasazení jednotlivých projektů

Určení souboru řešení způsobí, že se sestaví všechny projekty v řešení. Pokud máte v řešení více webových projektů, platí následující chování nástroje MSBuild:

  • Vlastnosti, které zadáte na příkazovém řádku, se předají do každého projektu. Každý webový projekt proto musí mít profil publikování s názvem, který zadáte. Pokud zadáte /p:PublishProfile=Test, každý webový projekt musí mít profil publikování s názvem Test.
  • Jeden projekt můžete úspěšně publikovat, i když jiný projekt ani nevytvoře. Další informace naleznete v tématu stackoverflow thread MSBuild selže se dvěma balíčky.

Pokud místo řešení zadáte jeden projekt, musíte přidat parametr, který určuje verzi sady Visual Studio. Pokud používáte Visual Studio 2012, bude příkazový řádek podobný následujícímu příkladu:

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

Číslo verze pro Visual Studio 2010 je 10.0. Další informace naleznete v tématu Kompatibilita projektů sady Visual Studio a VisualStudioVersion na blogu Sayed Hashimi.

Určení profilu publikování

Profil publikování můžete zadat podle názvu nebo úplnou cestou k souboru .pubxml , jak je znázorněno v následujícím příkladu:

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

Metody publikování na webu podporované pro publikování na příkazovém řádku

Pro publikování na příkazovém řádku se podporují tři metody publikování:

  • MSDeploy – Publikování pomocí nasazení webu.
  • Package – Publikování vytvořením balíčku nasazení webu. Balíček musíte nainstalovat odděleně od příkazu MSBuild, který ho vytvoří.
  • FileSystem - Publikování kopírováním souborů do zadané složky.

Určení konfigurace sestavení a platformy

Konfigurace sestavení a platforma musí být nastavené v sadě Visual Studio nebo na příkazovém řádku. Profily publikování zahrnují vlastnosti, které jsou pojmenované LastUsedBuildConfiguration , LastUsedPlatformale nemůžete nastavit tyto vlastnosti, aby bylo možné určit, jak je projekt sestaven. Další informace naleznete v tématu MSBuild: jak nastavit vlastnost konfigurace na Sayed Hashimi blog.

Shrnutí

Teď jste nasadili aktualizaci aplikace pomocí příkazového řádku.

Snímek obrazovky se stránkou O aplikaci zobrazující statistiku těla studenta

V dalším kurzu se dozvíte, jak rozšířit kanál publikování webu. V příkladu se dozvíte, jak nasadit soubory, které nejsou součástí projektu.