ASP.NET Core 2.0 için Microsoft.AspNetCore.All metapackage

Dekont

Microsoft.AspNetCore.All Meta paket, ASP.NET Core 3.0 ve sonraki sürümlerde kullanılmaz. Daha fazla bilgi için bu GitHub konusuna bakın.

Dekont

ASP.NET Core 2.1 ve sonraki sürümleri hedefleyen uygulamaların bu paket yerine Microsoft.AspNetCore.App meta paketini kullanmasını öneririz. Bu makaledeki Microsoft.AspNetCore.All dosyasından Microsoft.AspNetCore.App geçiş bölümüne bakın.

Bu özellik, .NET Core 2.x'i hedefleyen ASP.NET Core 2.x gerektirir.

Microsoft.AspNetCore.All , paylaşılan bir çerçeveye başvuran bir meta pakettir. Paylaşılan çerçeve, uygulamanın klasörlerinde bulunmayan bir derleme kümesidir (.dll dosyaları). Uygulamayı çalıştırmak için paylaşılan çerçevenin makineye yüklenmesi gerekir. Daha fazla bilgi için bkz . Paylaşılan çerçeve.

Başvuruda bulunan paylaşılan çerçeve şunları Microsoft.AspNetCore.All içerir:

  • ASP.NET Core ekibi tarafından desteklenen tüm paketler.
  • Entity Framework Core tarafından desteklenen tüm paketler.
  • ASP.NET Core ve Entity Framework Core tarafından kullanılan iç ve üçüncü taraf bağımlılıkları.

ASP.NET Core 2.x ve Entity Framework Core 2.x'in tüm özellikleri pakete Microsoft.AspNetCore.All dahildir. Core 2.0'ASP.NET hedefleyen varsayılan proje şablonları bu paketi kullanır.

Meta paketin Microsoft.AspNetCore.All sürüm numarası, en düşük ASP.NET Core sürümünü ve Entity Framework Core sürümünü temsil eder.

Aşağıdaki .csproj dosya ASP.NET Core için meta paketine başvurur Microsoft.AspNetCore.All :

<Project Sdk="Microsoft.NET.Sdk.Web">

  <PropertyGroup>
    <TargetFramework>netcoreapp2.0</TargetFramework>
  </PropertyGroup>

  <ItemGroup>
    <PackageReference Include="Microsoft.AspNetCore.All" Version="2.0.9" />
  </ItemGroup>

</Project>

Örtük sürüm oluşturma

ASP.NET Core 2.1 veya sonraki sürümlerinde, sürüm olmadan paket başvurusu belirtebilirsiniz Microsoft.AspNetCore.All . Sürüm belirtilmediğinde, SDK (Microsoft.NET.Sdk.Web tarafından örtük bir sürüm belirtilir). SDK tarafından belirtilen örtük sürüme güvenmenizi ve paket başvurusunda sürüm numarasını açıkça ayarlamamanızı öneririz. Bu yaklaşım hakkında sorularınız varsa, Microsoft.AspNetCore.App örtük sürüm için Tartışma'da bir GitHub açıklaması bırakın.

Örtük sürüm, taşınabilir uygulamalar için olarak major.minor.0 ayarlanır. Paylaşılan çerçeve ileri sarma mekanizması, uygulamayı yüklü paylaşılan çerçeveler arasında en son uyumlu sürümde çalıştırır. Geliştirme, test ve üretimde aynı sürümün kullanılmasını garanti etmek için paylaşılan çerçevenin aynı sürümünün tüm ortamlarda yüklü olduğundan emin olun. Bağımsız uygulamalar için örtük sürüm numarası, yüklü SDK'da paketlenmiş paylaşılan çerçeveye ayarlanır major.minor.patch .

Paket başvurusunda Microsoft.AspNetCore.All bir sürüm numarası belirtmek, paylaşılan çerçeve sürümünün seçilmesini garanti etmez. Örneğin, "2.1.1" sürümünün belirtildiğini, ancak "2.1.3" sürümünün yüklü olduğunu varsayalım. Bu durumda, uygulama "2.1.3" kullanır. Önerilmiyor olsa da ileri sarmayı devre dışı bırakabilirsiniz (düzeltme eki ve/veya ikincil). dotnet konağı ileri sarma ve davranışını yapılandırma hakkında daha fazla bilgi için bkz . dotnet host roll forward.

örtük sürümünü kullanmak için Microsoft.NET.Sdk.Web proje dosyasında projenin SDK'sı Microsoft.AspNetCore.Allolarak ayarlanmalıdır. Microsoft.NET.Sdk SDK belirtildiğinde (<Project Sdk="Microsoft.NET.Sdk">proje dosyasının en üstünde), aşağıdaki uyarı oluşturulur:

Uyarı NU1604: Proje bağımlılığı Microsoft.AspNetCore.All kapsayıcı bir alt sınır içermiyor. Tutarlı geri yükleme sonuçları sağlamak için bağımlılık sürümüne daha düşük bir sınır ekleyin.

Bu, .NET Core 2.1 SDK'sı ile ilgili bilinen bir sorundur ve .NET Core 2.2 SDK'sında düzeltilecektir.

Microsoft.AspNetCore.All dosyasından Microsoft.AspNetCore.App geçiş

Aşağıdaki paketler pakete Microsoft.AspNetCore.All dahil edilir ancak pakete Microsoft.AspNetCore.App dahil değildir.

  • Microsoft.AspNetCore.ApplicationInsights.HostingStartup
  • Microsoft.AspNetCore.AzureAppServices.HostingStartup
  • Microsoft.AspNetCore.AzureAppServicesIntegration
  • Microsoft.AspNetCore.DataProtection.AzureKeyVault
  • Microsoft.AspNetCore.DataProtection.AzureStorage
  • Microsoft.AspNetCore.Server.Kestrel.Transport.Libuv
  • Microsoft.AspNetCore.SignalR.Redis
  • Microsoft.Data.Sqlite
  • Microsoft.Data.Sqlite.Core
  • Microsoft.EntityFrameworkCore.Sqlite
  • Microsoft.EntityFrameworkCore.Sqlite.Core
  • Microsoft.Extensions.Caching.Redis
  • Microsoft.Extensions.Configuration.AzureKeyVault
  • Microsoft.Extensions.Logging.AzureAppServices
  • Microsoft.VisualStudio.Web.BrowserLink

uygulamasından Microsoft.AspNetCore.All adresine geçmek için Microsoft.AspNetCore.App, uygulamanız yukarıdaki paketlerden veya bu paketler tarafından getirilen paketlerden herhangi bir API kullanıyorsa, projenizdeki bu paketlere başvurular ekleyin.

Aksi takdirde bağımlılıkları olmayan önceki paketlerin Microsoft.AspNetCore.App bağımlılıkları örtük olarak dahil değildir. Örnek:

  • StackExchange.Redis bağımlılığı olarak Microsoft.Extensions.Caching.Redis
  • Microsoft.ApplicationInsights bağımlılığı olarak Microsoft.AspNetCore.ApplicationInsights.HostingStartup

ASP.NET Core 2.1'i güncelleştirme

2.1 ve üzeri için meta pakete geçiş Microsoft.AspNetCore.App yapmanızı öneririz. Meta paketi kullanmaya Microsoft.AspNetCore.All devam etmek ve en son yama sürümünün dağıtıldığından emin olmak için:

  • Geliştirme makinelerinde ve derleme sunucularında: En son .NET Core SDK'sını yükleyin.
  • Dağıtım sunucularında: En son .NET Core çalışma zamanını yükleyin. Uygulamanız, bir uygulama yeniden başlatıldığında en son yüklü sürüme doğru ilerler.