ASP.NET Core için Microsoft.AspNetCore.App
ASP.NET Core paylaşılan framework ( Microsoft.AspNetCore.App ), Microsoft tarafından geliştirilen ve desteklenen derlemeler içerir. Microsoft.AspNetCore.App , .NET Core 3,0 veya sonraki BIR SDK yüklendiğinde yüklenir. Paylaşılan çerçeve , makinede yüklü olan derlemeler (.dll dosyaları) kümesidir ve bir çalışma zamanı bileşeni ve hedefleme paketi içerir. Daha fazla bilgi için bkz. paylaşılan çerçeve.
- SDK 'yı hedefleyen projeler
Microsoft.NET.Sdk.Webçerçeveye dolaylı olarak başvururMicrosoft.AspNetCore.App.
Bu projeler için ek başvuru gerekli değildir:
<Project Sdk="Microsoft.NET.Sdk.Web">
<PropertyGroup>
<TargetFramework>netcoreapp3.0</TargetFramework>
</PropertyGroup>
...
</Project>
ASP.NET Core paylaşılan çerçeve:
- Üçüncü taraf bağımlılıklarını içermez.
- ASP.NET Core ekibi tarafından desteklenen tüm paketleri içerir.
bu özellik, .net Core 2. x 'i hedefleyen ASP.NET Core 2. x gerektirir.
ASP.NET Core için Microsoft.AspNetCore.app metapackage :
- JSON.net, Remotion. LINQve x zaman uyumsuzdışında üçüncü taraf bağımlılıklarını içermez. Bu üçüncü taraf bağımlılıklar, ana çerçeveler özelliklerinin çalışmasını sağlamak için gereklidir.
- ASP.NET Core ekibine, üçüncü taraf bağımlılıklar (daha önce bahsedilen) dışında, desteklenen tüm paketleri içerir.
- Entity Framework Core ekibine, üçüncü taraf bağımlılıklar (daha önce bahsedilen) dışında, desteklenen tüm paketleri içerir.
ASP.NET Core 2. x ve Entity Framework Core 2. x özelliklerinin tümü Microsoft.AspNetCore.App pakete dahildir. ASP.NET Core 2. x ' i hedefleyen varsayılan proje şablonları bu paketi kullanın. ASP.NET Core 2. x ve Entity Framework Core 2. x ' i hedefleyen uygulamaların paketini kullanması önerilir Microsoft.AspNetCore.App .
Microsoft.AspNetCore.Appmetapackage sürüm numarası en düşük ASP.NET Core sürümü ve Entity Framework Core sürümünü temsil eder.
Microsoft.AspNetCore.AppMetapackage 'in kullanılması, uygulamanızı koruyan sürüm kısıtlamalarını sağlar:
- içindeki bir pakette geçişli (doğrudan) bağımlılığı olan bir paket varsa
Microsoft.AspNetCore.Appve bu sürüm numaraları farklıysa NuGet bir hata üretir. - Uygulamanıza eklenen diğer paketler, ' de yer alan paketlerin sürümünü değiştiremez
Microsoft.AspNetCore.App. - Sürüm tutarlılığı, güvenilir bir deneyim sağlar.
Microsoft.AspNetCore.App, ilişkili bitlerin test edilmemiş sürüm birleşimlerinin aynı uygulamada birlikte kullanılmaları önleyecek şekilde tasarlandı.
metapackage kullanan uygulamalar Microsoft.AspNetCore.App ASP.NET Core paylaşılan çerçeveden otomatik olarak yararlanır. Microsoft.AspNetCore.Appmetapackage kullandığınızda, başvurulan ASP.NET Core NuGet paketlerinden hiçbir varlık, — ASP.NET Core paylaşılan framework 'ün bu varlıkları içerdiği uygulamayla birlikte dağıtılır. Paylaşılan çerçevede bulunan varlıklar, uygulama başlatma süresini artırmak için önceden derlenmiş. Daha fazla bilgi için bkz. paylaşılan çerçeve.
aşağıdaki proje dosyası Microsoft.AspNetCore.App ASP.NET Core için metapackage 'e başvurur ve tipik bir ASP.NET Core 2,2 şablonunu temsil eder:
<Project Sdk="Microsoft.NET.Sdk.Web">
<PropertyGroup>
<TargetFramework>netcoreapp2.2</TargetFramework>
</PropertyGroup>
<ItemGroup>
<PackageReference Include="Microsoft.AspNetCore.App" />
</ItemGroup>
</Project>
yukarıdaki biçimlendirme tipik bir ASP.NET Core 2. x şablonunu temsil eder. Paket başvurusu için bir sürüm numarası belirtmiyor Microsoft.AspNetCore.App . Sürüm belirtilmediğinde, SDK tarafından örtük bir sürüm belirtilir, diğer bir deyişle, Microsoft.NET.Sdk.Web . SDK tarafından belirtilen örtük sürüme güvenmek ve paket başvurusunda sürüm numarasını açıkça ayarlamamanız önerilir. bu yaklaşım hakkında sorularınız varsa, Microsoft.AspNetCore.App örtük sürümü için tartışmadaGitHub bir açıklama bırakın.
Örtük sürüm, major.minor.0 Taşınabilir uygulamalar için olarak ayarlanır. Paylaşılan Framework toplaması-iletme mekanizması, uygulamayı yüklü paylaşılan Çerçeveler arasındaki en son uyumlu sürümde çalıştırır. Geliştirme, test ve üretimde aynı sürümün kullanıldığını güvence altına almak için, paylaşılan Framework 'ün aynı sürümünün tüm ortamlarda yüklü olduğundan emin olun. Kendi içindeki uygulamalar için, örtük sürüm numarası major.minor.patch yüklü SDK 'da paketlenmiş paylaşılan çerçevenin öğesine ayarlanır.
Başvuru üzerinde bir sürüm numarası belirtilmesi, Microsoft.AspNetCore.App paylaşılan Çerçeve sürümünün seçilmeyeceği garantisi vermez . Örneğin, "2.2.1" sürümünün belirtildiğini, ancak "2.2.3" nin yüklü olduğunu varsayalım. Bu durumda, uygulama "2.2.3" kullanacaktır. Önerilmese de, iletmeyi (Patch ve/veya Minor) devre dışı bırakabilirsiniz. DotNet ana bilgisayar alma hakkında daha fazla bilgi ve davranışını yapılandırma hakkında daha fazla bilgi için bkz. DotNet Host top Forward.
<Project Sdk``Microsoft.NET.Sdk.Webörtük sürümü kullanmak için olarak ayarlanmalıdır Microsoft.AspNetCore.App . Ne zaman <Project Sdk="Microsoft.NET.Sdk"> (sondaki olmadan .Web ) kullanıldığında:
Aşağıdaki uyarı oluşturulur:
uyarı NU1604: Project dependency Microsoft.AspNetCore.App, kapsamlı bir alt sınır içermez. Tutarlı geri yükleme sonuçlarının sağlanması için bağımlılık sürümüne bir alt sınır ekleyin.
Bu, .NET Core 2,1 SDK ile ilgili bilinen bir sorundur.
Güncelleştirme ASP.NET Core
Microsoft.AspNetCore.App Metapackage NuGet güncelleştirilmiş geleneksel bir paket değildir. Benzer şekilde Microsoft.NETCore.App , Microsoft.AspNetCore.App NuGet dışında işlenen özel sürüm oluşturma semantiğinin bulunduğu paylaşılan bir çalışma zamanını temsil eder. Daha fazla bilgi için bkz. paketler, Metapackages ve çerçeveler.
ASP.NET Core güncelleştirmek için:
- Geliştirme makinelerinde ve yapı sunucularında: .NET Core SDKindirin ve yükleyin.
- Dağıtım sunucularında: .NET Core çalışma zamanınıindirin ve yükleyin.
Uygulamalar, uygulama yeniden başlatıldığında en son yüklenen sürüme ileri alınacaktır. Microsoft.AspNetCore.AppProje dosyasındaki sürüm numarasını güncelleştirmek gerekli değildir. Daha fazla bilgi için bkz. çerçeveye bağımlı uygulamalar ileri alma.
Uygulamanız daha önce kullanılıyorsa Microsoft.AspNetCore.All bkz. Microsoft. Aspnetcore. All 'dan Microsoft.AspNetCore.app 'e geçiş.