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

tarafından Tom Dykstra

Başlangıç Projesini İndir

Bu öğretici serisi, Visual Studio 2012 veya Visual Studio 2010 kullanarak ASP.NET web uygulamasını Azure Uygulaması Service Web Apps'e veya üçüncü taraf barındırma sağlayıcısına dağıtmayı (yayımlamayı) gösterir. Seri hakkında bilgi için serinin ilk dersine 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ğıtım yapmak için değişiklik yap

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

Şablon kodu içeren sayfa hakkında

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

About.aspx sayfasını açın, öğenin 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 ortamına 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'i 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 isteminde, çözüm dosyanızın yolunu yazarak aşağıdaki komutu girin:

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 sizin belirttiğiniz isimde bir yayım profili olmalıdır. Eğer /p:PublishProfile=Test belirtirseniz, her web projesinin Test adlı bir yayımlama profili olmalıdır.
  • Bir projeyi başarıyla yayımlayabilirsiniz, ancak başka bir proje derlenmeyebilir. Daha fazla bilgi için bkz: stackoverflow başlığı MSBuild iki paket nedeniyle 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 konusuna bakın.

Yayımlama profilini belirtme

Yayımlama profilini, adıyla veya .pubxml dosyasının tam yoluyla belirleyebilirsiniz; bu, aşağıdaki örnekte gösterilmiştir:

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

Derleme yapılandırması ve platformu Visual Studio'da veya komut satırında ayarlanmalıdır. Yayımlama profilleri, LastUsedBuildConfiguration ve LastUsedPlatform adlı özellikleri içerir, ancak projenin nasıl inşa edileceğini belirlemek için bu özellikleri ayarlayamazsınız. Daha fazla bilgi için Sayed Hashimi'nin blogundaki MSBuild: yapılandırma özelliğinin nasıl ayarlanacağı başlığına bakı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.