Visual Studio Code ile ASP.NET Core uygulamasını Azure'da yayımlama

Bu öğreticiyle, ASP.Net Core MVC Uygulaması oluşturmayı ve Visual Studio Code içinde dağıtmayı öğreneceksiniz. Öğreticide VS Code hakkında bilgi sahibi olduğunuz varsayılır. Daha fazla bilgi için bkz . VS Code'u kullanmaya başlama. Bu öğretici Windows, macOS veya Linux ortamlarında çalışır. Ortamınız için karakterleri (\ vs /) ayıran doğru yolu kullandığınızdan emin olun.

Önemli

Azure Uygulaması Hizmeti ile ASP.NET Core önizleme sürümleri

ASP.NET Core önizleme sürümleri varsayılan olarak Azure Uygulaması Hizmetine dağıtılmaz. ASP.NET Core önizleme sürümünü kullanan bir uygulamayı barındırmak için bkz. Azure Uygulaması Hizmetine ASP.NET Core önizleme sürümünü dağıtma.

App Service dağıtım sorununu gidermek için bkz. Azure Uygulaması Service ve IIS'de ASP.NET Core sorunlarını giderme.

Önkoşullar

ASP.Net Core MVC projesi oluşturma

  1. Tümleşik terminali açın.

  2. Çalışma dizininizi (cd) projeyi içerecek dizin olarak ayarlayın.

  3. Aşağıdaki komutları çalıştırın:

    dotnet new mvc -o MyMVCapp
    code -r MyMVCapp
    

    Önceki komutlar için:

    • dotnet new mvc -o MyMVCapp
      • MyMVCapp klasöründe yeni bir ASP.NET Core MVC projesi oluşturur.
    • code -r MyMVCapp
      • MyMVCapp.csproj Visual Studio Code'da proje dosyasını yükler.
      • Visual Studio Code tümleşik terminali proje dizinine güncelleştirir.

Not

'MyMVCapp' içinde Derlemek ve hata ayıklamak için gerekli varlıklar içeren bir iletişim kutusu görüntüleniyorsa. Eklensin mi?, Evet'i seçin.

MyMVCapp klasöründe aşağıdakine benzer bir yapıya sahip yeni bir ASP.NET Core MVC projesi oluşturulur:

      appsettings.Development.json
      appsettings.json
<DIR> bin
<DIR> Controllers
<DIR> Models
      MyMVCapp.csproj
<DIR> obj
      Program.cs
<DIR> Properties
<DIR> Views
<DIR> wwwroot

Proje yapısı altında bir .vscode klasör oluşturulur. ASP.NET Core web uygulamanızı derlemenize ve hatalarını ayıklamanıza yardımcı olacak yardımcı program dosyaları içerir.

Projeyi test etme

Uygulamayı Azure'a dağıtmadan önce yerel makinenizde düzgün çalıştığından emin olun.

  1. Tümleşik terminali açın (gerekirse).

  2. Güvenilen bir HTTPS geliştirme sertifikasını ayarlayın:

    • Aşağıdaki komutu çalıştırarak HTTPS geliştirme sertifikasına güvenin:

      dotnet dev-certs https --trust
      

      Yukarıdaki komut, Linux üzerinde .NET 9 SDK veya üzerini gerektirir. .NET 8.0.401 SDK ve önceki sürümlerde Linux için, Linux dağıtımınızın sertifikaya güvenme belgelerine bakın.

      Önceki komut, sertifikaya daha önce güvenilmemesi koşuluyla aşağıdaki iletişim kutusunu görüntüler:

      Güvenlik uyarısı iletişim kutusu

    • Geliştirme sertifikasına güvenmeyi kabul ediyorsanız Evet'i seçin.

      Daha fazla bilgi için SSL zorlama makalesinin ASP.NET Core HTTPS geliştirme sertifikasına güvenme bölümüne bakın.

    Firefox tarayıcısına güvenme hakkında bilgi için bkz . Firefox SEC_ERROR_INADEQUATE_KEY_USAGE sertifika hatası.

  3. Şu komutu çalıştırın:

    dotnet run
    

    Yukarıdaki komut:

    • ASP.NET Core'un yerleşik web sunucusunu başlatır Kestrel.
    • gibi http://localhost:<port>web uygulamasını test etmek için bir URL görüntüler; burada <port> proje oluşturma sırasında ayarlanan Properties\launchSettings.json rastgele bağlantı noktası numarasıdır.

    Çıkışta, uygulamanın çalıştığını ve istekleri beklediğini belirten aşağıdakine benzer iletiler gösterilir:

    $ dotnet run
    Building...
    info: Microsoft.Hosting.Lifetime[14]
        Now listening on: https://localhost:7064
    info: Microsoft.Hosting.Lifetime[14]
        Now listening on: http://localhost:5119
    info: Microsoft.Hosting.Lifetime[0]
        Application started. Press Ctrl+C to shut down.
    info: Microsoft.Hosting.Lifetime[0]
        Hosting environment: Development
    info: Microsoft.Hosting.Lifetime[0]
        Content root path: D:\Src\MyMVCapp\
    
  4. Web uygulamasını tarayıcıda test etmek için Ctrl+tuşunu basılı tutarak çıktıdaki HTTPS URL'sine tıklayın. Yukarıdaki örnekte URL'si şeklindedir https://localhost:7064.

  5. Web uygulamasını test ettikten sonra kapatmak için tümleşik terminalde Ctrl+C tuşuna basın.

Dağıtım paketini yerel olarak oluşturma

  1. Tümleşik terminalde, konumunda bin/Publishbulunan bir Release klasörde paket oluşturmak için aşağıdaki komutu kullanın:

    dotnet publish -c Release -o ./bin/Publish
    

    Klasörde yeni Publish bir alt klasör oluşturulur bin . Bu klasör, Azure'a dağıtılacak dosyaları içerir.

    Klasör yapısını yayımlama

Azure App Service’e yayımlama

Visual Studio Code için Azure Uygulaması Hizmeti uzantısından yararlanarak web sitesini doğrudan Azure Uygulaması Hizmeti'ne yayımlamak için aşağıdaki adımları izleyin.

Yeni bir Azure Web App kaynağı oluşturma

Yayımlamak için mevcut bir Azure Web App kaynağınız yoksa bir tane oluşturmanız gerekir.

  1. Azure uzantısı sekmesinde, KAYNAKLAR bölmesinde, kullanmak istediğiniz aboneliği genişletin.
  2. Uygulama Hizmetleri'ne sağ tıklayın ve Yeni Web Uygulaması Oluştur... öğesini seçin.
  3. istemleri izleyin:
    1. Web uygulaması için benzersiz bir ad girin.
    2. En son kararlı .NET çalışma zamanını (örneğin .NET 6 (LTS)) seçin. .NET Framework uygulamalarına yönelik ASP.NET çalışma zamanını seçmeyin.
    3. Fiyatlandırma katmanınızı seçin. Ücretsiz (F1) bu öğretici için kabul edilebilir.

Azure'a Yayımlama

  1. Klasöre bin\Publish sağ tıklayın ve istemleri seçin Deploy to Web App... ve izleyin.

    1. Azure Web App kaynağının bulunduğu aboneliği seçin.
    2. Yayımlayacağınız Azure Web App kaynağını seçin.
    3. Onay iletişim kutusuyla sorulduğunda Dağıt'ı seçin.
  2. Dağıtım tamamlandıktan sonra, dağıtımı doğrulamak için tıklayın Browse Website .

    Dağıtım başarılı iletisi

    öğesine tıkladığınızda Browse Website, varsayılan tarayıcınızı kullanarak bu tarayıcıya gidersiniz:

    Yeni Web Uygulaması başarıyla dağıtıldı

İpucu

Uygulamayı gerektiği gibi aynı Azure Web App kaynağına yeniden dağıtmak için yukarıdaki adımları yineleyebilirsiniz. Azure'a dağıtmadan önce yeniden çalıştırdığınızdan dotnet publish emin olun.

Sonraki adımlar

Ek kaynaklar