Microsoft.AspNetCore.App pro ASP.NET Core
Poznámka:
Toto není nejnovější verze tohoto článku. Aktuální verzi najdete ve verzi .NET 8 tohoto článku.
Upozorňující
Tato verze ASP.NET Core se už nepodporuje. Další informace najdete v tématu .NET a .NET Core Zásady podpory. Aktuální verzi najdete ve verzi .NET 8 tohoto článku.
Důležité
Tyto informace se týkají předběžného vydání produktu, který může být podstatně změněn před komerčním vydáním. Microsoft neposkytuje žádné záruky, výslovné ani předpokládané, týkající se zde uváděných informací.
Aktuální verzi najdete ve verzi .NET 8 tohoto článku.
Sdílená architektura ASP.NET Core (Microsoft.AspNetCore.App
) obsahuje sestavení vyvinutá a podporovaná Microsoftem. Microsoft.AspNetCore.App
je nainstalována při instalaci sady .NET Core 3.0 nebo novější sady SDK . Sdílená architektura je sada sestavení (.dll souborů), která jsou nainstalovaná na počítači a obsahuje komponentu modulu runtime a sadu cílení. Další informace naleznete v části Sdílená architektura.
- Projekty, které cílí na
Microsoft.NET.Sdk.Web
sadu SDK, implicitně odkazují na architekturuMicrosoft.AspNetCore.App
.
Pro tyto projekty nejsou vyžadovány žádné další odkazy:
<Project Sdk="Microsoft.NET.Sdk.Web">
<PropertyGroup>
<TargetFramework>netcoreapp3.0</TargetFramework>
</PropertyGroup>
...
</Project>
Sdílená architektura ASP.NET Core:
- Nezahrnuje závislosti třetích stran.
- Zahrnuje všechny podporované balíčky týmu ASP.NET Core.
Tato funkce vyžaduje, ASP.NET Core 2.x cílí na .NET Core 2.x.
Metabalík Microsoft.AspNetCore.App pro ASP.NET Core:
- Nezahrnuje závislosti třetích stran s výjimkou Json.NET, Remotion.Linq a IX-Async. Tyto závislosti třetích stran jsou považovány za nezbytné k zajištění fungování hlavních funkcí architektur.
- Zahrnuje všechny podporované balíčky týmu ASP.NET Core s výjimkou těch, které obsahují závislosti třetích stran (jiné než dříve uvedené).
- Zahrnuje všechny podporované balíčky týmu Entity Framework Core s výjimkou těch, které obsahují závislosti třetích stran (jiné než dříve uvedené).
Součástí balíčku jsou Microsoft.AspNetCore.App
všechny funkce ASP.NET Core 2.x a Entity Framework Core 2.x. Výchozí šablony projektů, které cílí na ASP.NET Core 2.x, používají tento balíček. Doporučujeme, aby balíčky používaly Microsoft.AspNetCore.App
aplikace cílené na ASP.NET Core 2.x a Entity Framework Core 2.x.
Číslo Microsoft.AspNetCore.App
verze metabalíku představuje minimální verzi ASP.NET Core a verzi Entity Framework Core.
Microsoft.AspNetCore.App
Použití metabalíku poskytuje omezení verzí, která chrání vaši aplikaci:
- Pokud je součástí balíčku, který má tranzitivní (ne přímou) závislost na balíčku v
Microsoft.AspNetCore.App
a tato čísla verzí se liší, NuGet vygeneruje chybu. - Jiné balíčky přidané do vaší aplikace nemůžou změnit verzi balíčků, které jsou
Microsoft.AspNetCore.App
součástí . - Konzistence verzí zajišťuje spolehlivé prostředí.
Microsoft.AspNetCore.App
byla navržena tak, aby zabránila tomu, aby se ve stejné aplikaci používaly kombinace nesouvisených bitů.
Aplikace, které používají metabalík, automaticky využívají sdílenou architekturu Microsoft.AspNetCore.App
ASP.NET Core. Při použití Microsoft.AspNetCore.App
metabalíku se s aplikací nasadí žádné prostředky z odkazovaných balíčků NuGet ASP.NET Core – sdílená architektura ASP.NET Core obsahuje tyto prostředky. Prostředky ve sdíleném rozhraní jsou předkompilovány, aby se zlepšil čas spuštění aplikace. Další informace naleznete v části Sdílená architektura.
Následující soubor projektu odkazuje na Microsoft.AspNetCore.App
metabalík pro ASP.NET Core a představuje typickou šablonu ASP.NET Core 2.2:
<Project Sdk="Microsoft.NET.Sdk.Web">
<PropertyGroup>
<TargetFramework>netcoreapp2.2</TargetFramework>
</PropertyGroup>
<ItemGroup>
<PackageReference Include="Microsoft.AspNetCore.App" />
</ItemGroup>
</Project>
Předchozí kód představuje typickou šablonu ASP.NET Core 2.x. Nezadá číslo verze pro odkaz na Microsoft.AspNetCore.App
balíček. Pokud není zadaná verze, je implicitní verze určena sadou SDK, tjMicrosoft.NET.Sdk.Web
. . Doporučujeme spoléhat se na implicitní verzi určenou sadou SDK a ne explicitně nastavit číslo verze v odkazu na balíček. Pokud máte k tomuto přístupu dotazy, na diskuzi pro Microsoft.AspNetCore.App implicitní verzi nechejte komentář GitHubu.
Implicitní verze je nastavená na major.minor.0
přenosnou aplikaci. Mechanismus postupného zavedení sdílené architektury spustí aplikaci na nejnovější kompatibilní verzi mezi nainstalovanými sdílenými architekturami. Pokud chcete zaručit, že se stejná verze používá ve vývoji, testování a produkčním prostředí, ujistěte se, že je ve všech prostředích nainstalovaná stejná verze sdílené architektury. U samostatných aplikací je implicitní číslo verze nastavené na major.minor.patch
sdílenou architekturu, která je součástí nainstalované sady SDK.
Zadání čísla verze v Microsoft.AspNetCore.App
odkazu nezaručuje, že bude zvolena verze sdíleného rozhraní. Předpokládejme například, že je zadaná verze 2.2.1, ale je nainstalovaná verze 2.2.3. V takovém případě aplikace použije hodnotu 2.2.3. I když se nedoporučuje, můžete zakázat vrácení vpřed (oprava nebo podverze). Další informace o roll-forward hostitele dotnet a o tom, jak nakonfigurovat jeho chování, naleznete v tématu dotnet host roll forward.
<Project Sdk
musí být nastavena tak, aby Microsoft.NET.Sdk.Web
používala implicitní verzi Microsoft.AspNetCore.App
. Pokud <Project Sdk="Microsoft.NET.Sdk">
se použije (bez koncového .Web
) :
Vygeneruje se následující upozornění:
Upozornění NU1604: Závislost projektu Microsoft.AspNetCore.App neobsahuje inkluzivní dolní mez. Do verze závislosti zahrňte dolní mez, abyste zajistili konzistentní výsledky obnovení.
Jedná se o známý problém se sadou .NET Core 2.1 SDK.
Aktualizace ASP.NET Core
Metabalíč Microsoft.AspNetCore.App
není tradiční balíček, který se aktualizuje z NuGetu. Microsoft.NETCore.App
Microsoft.AspNetCore.App
Podobně jako v případě představuje sdílený modul runtime, který má speciální sémantiku správy verzí zpracovávanou mimo NuGet. Další informace naleznete v tématu Balíčky, metabalíky a architektury.
Aktualizace ASP.NET Core:
- Na vývojových počítačích a buildovacích serverech: Stáhněte a nainstalujte sadu .NET Core SDK.
- Na serverech nasazení: Stáhněte a nainstalujte modul runtime .NET Core.
Aplikace se při restartování aplikace převedou na nejnovější nainstalovanou verzi. Číslo verze v souboru projektu není nutné aktualizovat Microsoft.AspNetCore.App
. Další informace najdete v tématu o zavedení aplikací závislých na architektuře.
Pokud se vaše aplikace dříve používala Microsoft.AspNetCore.All
, přečtěte si téma Migrace z Microsoft.AspNetCore.All na Microsoft.AspNetCore.App.