Microsoft.AspNetCore.App pro ASP.NET Core
Systém ASP.NET Core rozhraní ( ) obsahuje sestavení vyvinutá a Microsoft.AspNetCore.App podporovaná společností Microsoft. Microsoft.AspNetCore.App se nainstaluje, když je nainstalovaná sada SDK .NET Core 3.0 nebo novější. Sdílená rozhraní je sada sestavení (.dllsouborů), které jsou nainstalovány v počítači a obsahují komponentu modulu runtime a cílovou sadu. Další informace najdete v tématu Sdílená rozhraní.
- Projekty, které cílí
Microsoft.NET.Sdk.Webna sadu SDK, implicitně odkazují naMicrosoft.AspNetCore.Approzhraní.
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á ASP.NET Core architektury:
- Nezahrnuje závislosti třetích stran.
- Zahrnuje všechny podporované balíčky od ASP.NET Core týmu.
Tato funkce vyžaduje ASP.NET Core 2.x, které cílí na .NET Core 2.x.
Následující Microsoft.AspNetCore.App metapackage pro ASP.NET Core:
- Nezahrnuje závislosti třetích stran s výjimkou závislostí Json.NET, Remotion.Linqa IX-Async. Tyto závislosti třetích stran se považují za nezbytné k zajištění toho, aby hlavní funkce architektur fungovaly.
- Zahrnuje všechny podporované balíčky od týmu ASP.NET Core s výjimkou balíčků, které obsahují závislosti třetích stran (jiné než ty, které byly zmíněny výše).
- Zahrnuje všechny podporované balíčky Entity Framework Core s výjimkou balíčků, které obsahují závislosti třetích stran (jiné než ty, které jsou uvedené výše).
Součástí balíčku jsou ASP.NET Core všechny funkce ASP.NET Core 2.x a Entity Framework Core Microsoft.AspNetCore.App 2.x. Výchozí šablony projektů cílené na ASP.NET Core 2.x používají tento balíček. Doporučujeme, aby aplikace cílené ASP.NET Core 2.x a Entity Framework Core 2.x balíček Microsoft.AspNetCore.App .
Číslo verze metabalíku představuje minimální verzi ASP.NET Core verzi Entity Framework Core Microsoft.AspNetCore.App verzi.
Použití Microsoft.AspNetCore.App metabalíku poskytuje omezení verzí, která chrání vaši aplikaci:
- Pokud balíček obsahuje tranzitivní (nikoli přímou) závislost na balíčku v a tato čísla verzí se
Microsoft.AspNetCore.Appliší, NuGet vygeneruje chybu. - Ostatní balíčky přidané do vaší aplikace nemohou změnit verzi balíčků, které jsou součástí
Microsoft.AspNetCore.App. - Konzistence verzí zajišťuje spolehlivé prostředí.
Microsoft.AspNetCore.Appbyla navržena tak, aby se zabránilo použití kombinace neotestovaných verzí souvisejících bitů společně ve stejné aplikaci.
Aplikace, které používají Microsoft.AspNetCore.App metabalíček, automaticky využívají výhod ASP.NET Core sdílené architektury. Když použijete metabalíčky, žádné prostředky z odkazovaných balíčků ASP.NET Core NuGet nasazené s aplikací, ASP.NET Core sdílená rozhraní Microsoft.AspNetCore.App tyto prostředky — obsahuje. Prostředky ve sdíleném rozhraní jsou předkompilovány, aby se zlepšila doba spuštění aplikace. Další informace najdete v tématu Sdílená rozhraní.
Následující soubor projektu odkazuje na metabalíčky pro ASP.NET Core a představuje typickou Microsoft.AspNetCore.App š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 Microsoft.AspNetCore.App na balíček. Pokud verzi nezadáte, sada SDK specifikuje implicitní verzi, to znamená Microsoft.NET.Sdk.Web . Doporučujeme spoléhat se na implicitní verzi určenou sadou SDK a nenastavovat číslo verze explicitně u odkazu na balíček. Pokud máte k tomuto přístupu nějaké dotazy, zanechte komentář GitHub diskuzik implicitní verzi Microsoft.AspNetCore.App verzi .
Implicitní verze je pro přenosné major.minor.0 aplikace nastavená na . Mechanismus přeposílání sdílené architektury spustí aplikaci na nejnovější kompatibilní verzi mezi nainstalovanými sdílenými rozhraními. Pokud chcete zaručit, že se stejná verze použije ve vývoji, testování a produkci, ujistěte se, že je ve všech prostředích nainstalovaná stejná verze sdílené architektury. U samostatných aplikací se implicitní číslo verze nastaví na hodnotu sdílené architektury, která je major.minor.patch součástí nainstalované sady SDK.
Zadání čísla verze v Microsoft.AspNetCore.App odkazu nezaručuje, že bude zvolena verze sdílené architektury. Předpokládejme například, že je zadaná verze 2.2.1, ale je nainstalovaná verze 2.2.3. V takovém případě bude aplikace používat "2.2.3". I když to nedoporučujeme, můžete dopředné přeposílání zakázat (opravy a/nebo menší). Další informace týkající se dopředné změny hostitele dotnet a konfigurace jeho chování najdete v tématu dotnet host roll forward.
<Project Sdk musí být nastavená Microsoft.NET.Sdk.Web na , aby se pro použití implicitní verze Microsoft.AspNetCore.App nastavila hodnota . Při <Project Sdk="Microsoft.NET.Sdk"> použití (bez .Web koncového ) :
Vygeneruje se následující upozornění:
Upozornění NU1604: Project závislostí Microsoft.AspNetCore.App neobsahuje inkluzivní dolní mez. Pokud chcete zajistit konzistentní výsledky obnovení, zahrpište do verze závislosti dolní mez.
Jedná se o známý problém se sadou .NET Core 2.1 SDK.
Aktualizace ASP.NET Core
Microsoft.AspNetCore.App Metabalíček není tradiční balíček, který se aktualizuje z NuGet. Podobně jako Microsoft.NETCore.App představuje sdílený modul runtime, který má speciální sémantiku pro sémantické zpracování verzí Microsoft.AspNetCore.App mimo NuGet. Další informace najdete v tématu Balíčky, metabalíčkya architektury .
Aktualizace ASP.NET Core:
- Na vývojových počítačích a sestavovacích serverech: Stáhněte a nainstalujte .NET Core SDK.
- Na serverech nasazení: Stáhněte a nainstalujte modul runtime .NET Core.
Aplikace se při restartování aplikace přeposílá na nejnovější nainstalovanou verzi. V souboru projektu není nutné aktualizovat číslo Microsoft.AspNetCore.App verze. Další informace najdete v tématu Aplikace závislé na rozhraní.
Pokud vaše aplikace dříve používala , podívejte se na článek Microsoft.AspNetCore.All Migrace z Microsoft.AspNetCore.All na Microsoft.AspNetCore.App.