ASP.NET Core dizin yapısı

Not

Bu, bu makalenin en son sürümü değildir. Geçerli sürüm için bu makalenin .NET 9 sürümüne bakın.

Uyarı

ASP.NET Core'un bu sürümü artık desteklenmiyor. Daha fazla bilgi için bkz . .NET ve .NET Core Destek İlkesi. Geçerli sürüm için bu makalenin .NET 8 sürümüne bakın.

Önemli

Bu bilgiler, ticari olarak piyasaya sürülmeden önce önemli ölçüde değiştirilebilen bir yayın öncesi ürünle ilgilidir. Burada verilen bilgilerle ilgili olarak Microsoft açık veya zımni hiçbir garanti vermez.

Geçerli sürüm için bu makalenin .NET 9 sürümüne bakın.

Yayımlama dizini, uygulamanın dotnet publish komutu tarafından üretilen dağıtılabilir varlıklarını içerir. Dizin aşağıdakileri içerir:

Uygulama Türü Dizin Yapısı
Çerçeveye Bağımlı Yürütülebilir Dosya (FDE)
  • yayımlama†
    • Görünümler† MVC uygulamaları; görünümler önceden derlenmemişse
    • Sayfalar† MVC veya Razor Sayfalar uygulamaları, sayfalar önceden derlenmemişse
    • wwwroot†
    • *.dll dosyaları
    • {ASSEMBLY NAME}.deps.json
    • {ASSEMBLY NAME}.dll
    • {ASSEMBLY NAME}{. EXTENSION}.exe uzantısı Windows'ta, macOS veya Linux'ta uzantı yok
    • {ASSEMBLY NAME}.pdb
    • {ASSEMBLY NAME}.runtimeconfig.json
    • web.config (IIS dağıtımları)
    • createdump (Linux createdump yardımcı programı)
    • *.so (Linux paylaşılan nesne kitaplığı)
    • *.a (macOS arşivi)
    • *.dylib (macOS dinamik kitaplığı)
Bağımsız Dağıtım (SCD)
  • yayımlama†
    • Görünümler† MVC uygulamaları, görünümler önceden derlenmemişse
    • Sayfalar† MVC veya Razor Sayfalar uygulamaları, sayfalar önceden derlenmemişse
    • wwwroot†
    • *.dll dosyaları
    • {ASSEMBLY NAME}.deps.json
    • {ASSEMBLY NAME}.dll
    • {ASSEMBLY NAME}{. EXTENSION} .exe windows uzantısı, macOS veya Linux'ta uzantı yok
    • {ASSEMBLY NAME}.pdb
    • {ASSEMBLY NAME}.runtimeconfig.json
    • web.config (IIS dağıtımları)

† Dizin ayırır

Yayımlama dizini, dağıtımın uygulama temel yolu olarak da adlandırılan içerik kök yolunu temsil eder. Sunucudaki dağıtılan uygulamanın yayımlama dizinine verilen ad, sunucunun barındırılan uygulamaya yönelik fiziksel yolu olarak görev görür.

Varsa wwwroot dizini yalnızca statik varlıklar içerir.

Ek kaynaklar

Yayımlama dizini, uygulamanın dotnet publish komutu tarafından üretilen dağıtılabilir varlıklarını içerir. Dizin aşağıdakileri içerir:

Uygulama Türü Dizin Yapısı
Çerçeveye Bağımlı Yürütülebilir Dosya (FDE)
  • yayımlama†
    • Görünümler† MVC uygulamaları; görünümler önceden derlenmemişse
    • Sayfalar† MVC veya Razor Sayfalar uygulamaları, sayfalar önceden derlenmemişse
    • wwwroot†
    • *.dll dosyaları
    • {ASSEMBLY NAME}.deps.json
    • {ASSEMBLY NAME}.dll
    • {ASSEMBLY NAME}{. EXTENSION}.exe uzantısı Windows'ta, macOS veya Linux'ta uzantı yok
    • {ASSEMBLY NAME}.pdb
    • {DERLEME ADı}. Views.dll
    • {DERLEME ADı}. Views.pdb
    • {ASSEMBLY NAME}.runtimeconfig.json
    • web.config (IIS dağıtımları)
    • createdump (Linux createdump yardımcı programı)
    • *.so (Linux paylaşılan nesne kitaplığı)
    • *.a (macOS arşivi)
    • *.dylib (macOS dinamik kitaplığı)
Bağımsız Dağıtım (SCD)
  • yayımlama†
    • Görünümler† MVC uygulamaları, görünümler önceden derlenmemişse
    • Sayfalar† MVC veya Razor Sayfalar uygulamaları, sayfalar önceden derlenmemişse
    • wwwroot†
    • *.dll dosyaları
    • {ASSEMBLY NAME}.deps.json
    • {ASSEMBLY NAME}.dll
    • {ASSEMBLY NAME}{. EXTENSION} .exe windows uzantısı, macOS veya Linux'ta uzantı yok
    • {ASSEMBLY NAME}.pdb
    • {DERLEME ADı}. Views.dll
    • {DERLEME ADı}. Views.pdb
    • {ASSEMBLY NAME}.runtimeconfig.json
    • web.config (IIS dağıtımları)

† Dizin ayırır

Yayımlama dizini, dağıtımın uygulama temel yolu olarak da adlandırılan içerik kök yolunu temsil eder. Sunucudaki dağıtılan uygulamanın yayımlama dizinine verilen ad, sunucunun barındırılan uygulamaya yönelik fiziksel yolu olarak görev görür.

Varsa wwwroot dizini yalnızca statik varlıklar içerir.

Ek kaynaklar

Yayımlama dizini, uygulamanın dotnet publish komutu tarafından üretilen dağıtılabilir varlıklarını içerir. Dizin aşağıdakileri içerir:

Uygulama Türü Dizin Yapısı
Çerçeveye Bağımlı Yürütülebilir Dosya (FDE)
  • yayımlama†
    • Görünümler† MVC uygulamaları; görünümler önceden derlenmemişse
    • Sayfalar† MVC veya Razor Sayfalar uygulamaları, sayfalar önceden derlenmemişse
    • wwwroot†
    • *.dll dosyaları
    • {ASSEMBLY NAME}.deps.json
    • {ASSEMBLY NAME}.dll
    • {ASSEMBLY NAME}{. EXTENSION} .exe windows uzantısı, macOS veya Linux'ta uzantı yok
    • {ASSEMBLY NAME}.pdb
    • {DERLEME ADı}. Views.dll
    • {DERLEME ADı}. Views.pdb
    • {ASSEMBLY NAME}.runtimeconfig.json
    • web.config (IIS dağıtımları)
    • createdump (Linux createdump yardımcı programı)
    • *.so (Linux paylaşılan nesne kitaplığı)
    • *.a (macOS arşivi)
    • *.dylib (macOS dinamik kitaplığı)
Bağımsız Dağıtım (SCD)
  • yayımlama†
    • Görünümler† MVC uygulamaları, görünümler önceden derlenmemişse
    • Sayfalar† MVC veya Razor Sayfalar uygulamaları, sayfalar önceden derlenmemişse
    • wwwroot†
    • *.dll dosyaları
    • {ASSEMBLY NAME}.deps.json
    • {ASSEMBLY NAME}.dll
    • {ASSEMBLY NAME}.exe
    • {ASSEMBLY NAME}.pdb
    • {DERLEME ADı}. Views.dll
    • {DERLEME ADı}. Views.pdb
    • {ASSEMBLY NAME}.runtimeconfig.json
    • web.config (IIS dağıtımları)

† Dizin ayırır

Yayımlama dizini, dağıtımın uygulama temel yolu olarak da adlandırılan içerik kök yolunu temsil eder. Sunucudaki dağıtılan uygulamanın yayımlama dizinine verilen ad, sunucunun barındırılan uygulamaya yönelik fiziksel yolu olarak görev görür.

Varsa wwwroot dizini yalnızca statik varlıklar içerir.

Günlükler klasörü oluşturmak, ASP.NET Çekirdek Modülü gelişmiş hata ayıklama günlüğü için kullanışlıdır. Değere <handlerSetting> sağlanan yoldaki klasörler modül tarafından otomatik olarak oluşturulmaz ve modülün hata ayıklama günlüğünü yazmasına izin vermek için dağıtımda önceden bulunmalıdır.

Aşağıdaki iki yaklaşımdan biri kullanılarak dağıtım için bir Günlükler dizini oluşturulabilir:

  • Proje dosyasına aşağıdaki <Target> öğeyi ekleyin:

    <Target Name="CreateLogsFolder" AfterTargets="Publish">
       <MakeDir Directories="$(PublishDir)Logs" 
                Condition="!Exists('$(PublishDir)Logs')" />
       <WriteLinesToFile File="$(PublishDir)Logs\.log" 
                         Lines="Generated file" 
                         Overwrite="True" 
                         Condition="!Exists('$(PublishDir)Logs\.log')" />
    </Target>
    

    öğesi, <MakeDir> yayımlanan çıktıda boş bir Logs klasörü oluşturur. öğesi, klasörü oluşturmak için hedef konumu belirlemek için özelliğini kullanır PublishDir . Web Dağıtımı gibi çeşitli dağıtım yöntemleri, dağıtım sırasında boş klasörleri atlar. <WriteLinesToFile> öğesi, Günlükler klasöründe klasörün sunucuya dağıtımını garanti eden bir dosya oluşturur. Çalışan işleminin hedef klasöre yazma erişimi yoksa bu yaklaşımı kullanarak klasör oluşturma işlemi başarısız olur.

  • Dağıtımdaki sunucuda Günlükler dizinini fiziksel olarak oluşturun.

Dağıtım dizini Okuma/Yürütme izinleri gerektirir. Günlükler dizini Okuma/Yazma izinleri gerektirir. Dosyaların yazıldığı ek dizinler Için Okuma/Yazma izinleri gerekir.

Ek kaynaklar