Visual Studio kullanarak Web Dağıtımı ASP.NET: Komut Satırı Dağıtımı

tarafından Tom Dykstra

Başlangıç Projelerini İndir

Bu öğretici serisi, Visual Studio 2012 veya Visual Studio 2010 kullanarak bir ASP.NET web uygulamasını Azure App Service Web Apps veya üçüncü taraf barındırma sağlayıcısına dağıtmayı (yayımlamayı) gösterir. Seri hakkında bilgi için serideki ilk öğreticiye bakın.

Genel Bakış

Bu öğreticide, komut satırından Visual Studio web yayımlama işlem hattını çağırma gösterilmektedir. Bu, genellikle bir kaynak kodu sürüm denetim sistemi kullanarak Visual Studio'da el ile yapmak yerine dağıtım işlemini otomatikleştirmek istediğiniz senaryolar için kullanışlıdır.

Dağıtmak için değişiklik yapma

Şu anda Hakkında sayfasında şablon kodu görüntülenir.

Şablon kodu içeren hakkında sayfası

Bunu, öğrenci kaydının özetini görüntüleyen kodla değiştireceksiniz.

About.aspx sayfasını açın, öğesinin içindeki MainContentContent tüm işaretlemeyi silin ve yerine aşağıdaki işaretlemeyi ekleyin:

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

Projeyi çalıştırın ve Hakkında sayfasını seçin.

Sayfa hakkında

Komut satırını kullanarak Test'e dağıtma

Başka bir veritabanı değişikliği dağıtmayacaksınız, bu nedenle aspnet-ContosoUniversity veritabanı için dbDacFx veritabanı dağıtımını devre dışı bırakın. Web'de Yayımla sihirbazını açın ve üç yayımlama profilinin her birinde Ayarlar sekmesinde veritabanını güncelleştir onay kutusunu temizleyin.

Windows 8 Başlangıç sayfasında VS2012 için Geliştirici Komut İstemi'ni arayın.

VS2012 için Geliştirici Komut İstemi simgesine sağ tıklayın ve Yönetici olarak çalıştır'a tıklayın.

Komut istemine aşağıdaki komutu girin ve çözüm dosyasının yolunu çözüm dosyanızın yoluyla değiştirin:

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

MSBuild çözümü oluşturur ve test ortamına dağıtır.

Komut satırı çıktısı

Bir tarayıcı açın ve adresine http://localhost/ContosoUniversitygidin, ardından dağıtımın başarılı olduğunu doğrulamak için Hakkında sayfasına tıklayın.

Testte hiç öğrenci oluşturmadıysanız , Öğrenci Gövdesi İstatistikleri başlığının altında boş bir sayfa görürsünüz. Öğrenciler sayfasına gidin, Öğrenci Ekle'ye tıklayın, bazı öğrenciler ekleyin ve ardından öğrenci istatistiklerini görmek için Hakkında sayfasına dönün.

Hakkında sayfasındaki Öğrenci Gövdesi İstatistiklerini gösteren ekran görüntüsü.

Anahtar komut satırı seçenekleri

Girdiğiniz komut, çözüm dosyası yolunu ve iki özelliği MSBuild'e geçirdi:

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

Çözümü dağıtma ve tek tek projeleri dağıtma

Çözüm dosyasının belirtilmesi çözümdeki tüm projelerin derlenmesine neden olur. Çözümde birden çok web projeniz varsa, aşağıdaki MSBuild davranışı geçerlidir:

  • Komut satırında belirttiğiniz özellikler her projeye geçirilir. Bu nedenle, her web projesinin belirttiğiniz ada sahip bir yayımlama profili olmalıdır. belirtirseniz /p:PublishProfile=Test, her web projesinin Test adlı bir yayımlama profili olmalıdır.
  • Bir proje daha derlenmezse başarılı bir şekilde yayımlayabilirsiniz. Daha fazla bilgi için bkz. stackoverflow iş parçacığı MSBuild iki paketle başarısız oluyor.

Çözüm yerine tek bir proje belirtirseniz, Visual Studio sürümünü belirten bir parametre eklemeniz gerekir. Visual Studio 2012 kullanıyorsanız komut satırı aşağıdaki örneğe benzer olacaktır:

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

Visual Studio 2010 sürüm numarası 10.0'dır. Daha fazla bilgi için Sayed Hashimi'nin blogundaki Visual Studio proje uyumluluğu ve VisualStudioVersion bölümüne bakın.

Yayımlama profilini belirtme

Yayımlama profilini, aşağıdaki örnekte gösterildiği gibi ada veya .pubxml dosyasının tam yoluna göre belirtebilirsiniz:

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

Komut satırı yayımlama için desteklenen web yayımlama yöntemleri

Komut satırı yayımlama için üç yayımlama yöntemi desteklenir:

  • MSDeploy - Web Dağıtımı kullanarak yayımlayın.
  • Package - Web Dağıtım Paketi oluşturarak yayımlayın. Paketi oluşturan MSBuild komutundan ayrı olarak yüklemeniz gerekir.
  • FileSystem - Dosyaları belirtilen bir klasöre kopyalayarak yayımlayın.

Derleme yapılandırmasını ve platformunu belirtme

Derleme yapılandırması ve platformu Visual Studio'da veya komut satırında ayarlanmalıdır. Yayımlama profilleri ve adlı LastUsedBuildConfigurationLastUsedPlatformözellikleri içerir, ancak projenin nasıl derlendiğini belirlemek için bu özellikleri ayarlayamazsınız. Daha fazla bilgi için bkz . MSBuild: Sayed Hashimi'nin blogundaki yapılandırma özelliğini ayarlama.

Hazırlık ortamına dağıtma

Azure'a dağıtmak için parolayı komut satırına eklemeniz gerekir. Parolayı Visual Studio'daki yayımlama profiline kaydettiyseniz, .pubxml.user dosyanızda şifrelenmiş biçimde depolanmıştır. Komut satırı dağıtımı yaptığınızda bu dosyaya MSBuild tarafından erişilmediğinden, parolayı bir komut satırı parametresine geçirmeniz gerekir.

  1. Hazırlama web sitesi için daha önce indirdiğiniz .publishsettings dosyasından ihtiyacınız olan parolayı kopyalayın. Parola, Web Deploy publishProfile öğesinin userPWD özniteliğinin değeridir.

    Web Dağıtımı parolası

  2. Windows 8 Başlangıç sayfasında VS2012 için Geliştirici Komut İstemi'ni arayın ve komut istemini açmak için simgeye tıklayın. (Yerel bilgisayarda IIS'ye dağıtmadığınız için bu kez yönetici olarak açmanız gerekmez.)

  3. Komut isteminde aşağıdaki komutu girin ve çözüm dosyasının yolunu çözüm dosyanızın yoluyla ve parolayı parolanızla değiştirin:

    msbuild C:\ContosoUniversity\ContosoUniversity.sln /p:DeployOnBuild=true /p:PublishProfile=Staging /p:Password=hdNSWsbuqno7J5uqnwKafwlfNPt1DSco7J5uqnwKafwlfNPt1DSpKHuYgCco7J5 /p:AllowUntrustedCertificate=true
    

    Bu komut satırının ek bir parametre içerdiğine dikkat edin: /p:AllowUntrustedCertificate=true. Bu öğretici yazıldığı için, komut satırından AllowUntrustedCertificate Azure'da yayımladığınızda özelliğinin ayarlanması gerekir. Bu hatanın düzeltmesi yayınlandığında bu parametreye ihtiyacınız olmayacaktır.

  4. Bir tarayıcı açın ve hazırlama sitenizin URL'sine gidin ve dağıtımın başarılı olduğunu doğrulamak için Hakkında sayfasına tıklayın.

    Daha önce test ortamında gördüğünüz gibi , Hakkında sayfasında istatistikleri görmek için bazı öğrenciler oluşturmanız gerekebilir.

Üretime dağıtma

Üretime dağıtma işlemi hazırlama işlemine benzer.

  1. Daha önce üretim web sitesi için indirdiğiniz .publishsettings dosyasından ihtiyacınız olan parolayı kopyalayın.

  2. VS2012 için Geliştirici Komut İstemi'ni açın.

  3. Komut isteminde aşağıdaki komutu girin ve çözüm dosyasının yolunu çözüm dosyanızın yoluyla ve parolayı parolanızla değiştirin:

    msbuild C:\ContosoUniversity\ContosoUniversity.sln /p:DeployOnBuild=true /p:PublishProfile=Production /p:Password=hdNSWsbuqnwKafwlo7J5uqnwKafwlfNPt1DSqnwKafwlfNPt1DSpKHuYgCco7J5 /p:AllowUntrustedCertificate=true
    

    Gerçek bir üretim sitesi için, veritabanı değişikliği de yapıldıysa, genellikle app_offline.htm dosyasını dağıtımdan önce siteye kopyalar ve başarılı dağıtımdan sonra silersiniz.

  4. Bir tarayıcı açın ve hazırlama sitenizin URL'sine gidin ve dağıtımın başarılı olduğunu doğrulamak için Hakkında sayfasına tıklayın.

Özet

Şimdi komut satırını kullanarak bir uygulama güncelleştirmesi dağıttınız.

Öğrenci Gövdesi İstatistiklerini gösteren Hakkında sayfasını gösteren ekran görüntüsü.

Sonraki öğreticide, web yayımlama işlem hattının nasıl genişletileceğini gösteren bir örnek göreceksiniz. Örnekte, projeye dahil olmayan dosyaların nasıl dağıtılacağı gösterilir.