Microsoft.AspNetCore.All metapackage for ASP.NET Core 2.0
Uwaga
Nie jest to najnowsza wersja tego artykułu. Aby zapoznać się z bieżącą wersją, zobacz wersję tego artykułu platformy .NET 9.
Ważne
Te informacje odnoszą się do produktu w wersji wstępnej, który może zostać znacząco zmodyfikowany, zanim zostanie wydany komercyjnie. Firma Microsoft nie udziela żadnych gwarancji, jawnych lub domniemanych, w odniesieniu do informacji podanych w tym miejscu.
Aby zapoznać się z bieżącą wersją, zobacz wersję tego artykułu platformy .NET 9.
Uwaga
Metapakiet Microsoft.AspNetCore.All
nie jest używany w ASP.NET Core 3.0 i nowszych wersjach. Aby uzyskać więcej informacji, zobacz ten problem w serwisie GitHub.
Uwaga
Zalecamy, aby aplikacje przeznaczone dla platformy ASP.NET Core 2.1 i nowsze używały Microsoft.AspNetCore.App metapakiet, a nie tego pakietu. Zobacz Migrowanie z pliku Microsoft.AspNetCore.All do Microsoft.AspNetCore.App w tym artykule.
Ta funkcja wymaga ASP.NET Core 2.x przeznaczonej dla platformy .NET Core 2.x.
Microsoft.AspNetCore.All to metapakiet odwołujący się do struktury udostępnionej. Platforma udostępniona to zestaw zestawów (.dll plików), które nie znajdują się w folderach aplikacji. Aby można było uruchomić aplikację, na maszynie musi być zainstalowana platforma udostępniona. Aby uzyskać więcej informacji, zobacz Struktura udostępniona.
Udostępniona struktura, która Microsoft.AspNetCore.All
odwołuje się do następujących:
- Wszystkie obsługiwane pakiety przez zespół ASP.NET Core.
- Wszystkie obsługiwane pakiety przez platformę Entity Framework Core.
- Wewnętrzne i zewnętrzne zależności używane przez platformę ASP.NET Core i Entity Framework Core.
Wszystkie funkcje ASP.NET Core 2.x i Entity Framework Core 2.x są zawarte w pakiecie Microsoft.AspNetCore.All
. Domyślne szablony projektów przeznaczone dla platformy ASP.NET Core 2.0 używają tego pakietu.
Numer Microsoft.AspNetCore.All
wersji metapakiet reprezentuje minimalną wersję ASP.NET Core i wersję platformy Entity Framework Core.
.csproj
Poniższy plik odwołuje się do Microsoft.AspNetCore.All
metapakiet dla ASP.NET Core:
<Project Sdk="Microsoft.NET.Sdk.Web">
<PropertyGroup>
<TargetFramework>netcoreapp2.0</TargetFramework>
</PropertyGroup>
<ItemGroup>
<PackageReference Include="Microsoft.AspNetCore.All" Version="2.0.9" />
</ItemGroup>
</Project>
Niejawne przechowywanie wersji
W programie ASP.NET Core 2.1 lub nowszym można określić Microsoft.AspNetCore.All
odwołanie do pakietu bez wersji. Jeśli wersja nie jest określona, niejawna wersja jest określana przez zestaw SDK (Microsoft.NET.Sdk.Web
). Zalecamy poleganie na niejawnej wersji określonej przez zestaw SDK i nie jawnie ustawianiu numeru wersji w odwołaniu do pakietu. Jeśli masz pytania dotyczące tego podejścia, pozostaw komentarz usługi GitHub na stronie Dyskusja dla Microsoft.AspNetCore.App niejawnej wersji.
Wersja niejawna jest ustawiona na major.minor.0
dla aplikacji przenośnych. Mechanizm wycofywania struktury udostępnionej uruchamia aplikację w najnowszej zgodnej wersji między zainstalowanymi platformami udostępnionymi. Aby zagwarantować, że ta sama wersja jest używana w środowisku deweloperskim, testowym i produkcyjnym, upewnij się, że ta sama wersja platformy udostępnionej jest zainstalowana we wszystkich środowiskach. W przypadku aplikacji samodzielnie niejawny numer wersji jest ustawiany na major.minor.patch
zestaw udostępnionych platform w zainstalowanym zestawie SDK.
Określenie numeru wersji w odwołaniu Microsoft.AspNetCore.All
do pakietu nie gwarantuje wybrania tej wersji platformy udostępnionej. Załóżmy na przykład, że określono wersję "2.1.1", ale jest zainstalowana wersja "2.1.3". W takim przypadku aplikacja będzie używać wartości "2.1.3". Mimo że nie jest to zalecane, można wyłączyć wycofywanie (poprawki i/lub drobne). Aby uzyskać więcej informacji na temat wycofywania hosta dotnet i sposobu konfigurowania jego zachowania, zobacz dotnet host roll forward.
Zestaw SDK projektu musi być ustawiony na Microsoft.NET.Sdk.Web
wartość w pliku projektu, aby używać niejawnej wersji programu Microsoft.AspNetCore.All
. Po określeniu zestawu Microsoft.NET.Sdk
SDK (<Project Sdk="Microsoft.NET.Sdk">
w górnej części pliku projektu) zostanie wygenerowane następujące ostrzeżenie:
Ostrzeżenie NU1604: Zależność projektu Microsoft.AspNetCore.All nie zawiera inkluzywnej granicy niższej. Uwzględnij dolną granicę w wersji zależności, aby zapewnić spójne wyniki przywracania.
Jest to znany problem z zestawem .NET Core 2.1 SDK i zostanie rozwiązany w zestawie .NET Core 2.2 SDK.
Migrowanie z pliku Microsoft.AspNetCore.All do Microsoft.AspNetCore.App
Następujące pakiety są zawarte w Microsoft.AspNetCore.All
pakiecie, ale nie w pakiecie Microsoft.AspNetCore.App
.
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
Aby przejść z Microsoft.AspNetCore.All
do Microsoft.AspNetCore.App
programu , jeśli aplikacja korzysta z jakichkolwiek interfejsów API z powyższych pakietów lub pakietów przywiezionych przez te pakiety, dodaj odwołania do tych pakietów w projekcie.
Wszelkie zależności powyższych pakietów, które w przeciwnym razie nie są zależnościami Microsoft.AspNetCore.App
, nie są uwzględniane niejawnie. Na przykład:
StackExchange.Redis
jako zależnośćMicrosoft.Extensions.Caching.Redis
Microsoft.ApplicationInsights
jako zależnośćMicrosoft.AspNetCore.ApplicationInsights.HostingStartup
Aktualizacja ASP.NET Core 2.1
Zalecamy migrację Microsoft.AspNetCore.App
do metapakieta dla wersji 2.1 lub nowszej. Aby nadal używać Microsoft.AspNetCore.All
metapakieta i upewnić się, że jest wdrożona najnowsza wersja poprawki:
- Na maszynach deweloperskich i serwerach kompilacji: zainstaluj najnowszy zestaw .NET Core SDK.
- Na serwerach wdrażania: zainstaluj najnowsze środowisko uruchomieniowe platformy .NET Core. Aplikacja zostanie przekazana do najnowszej zainstalowanej wersji po ponownym uruchomieniu aplikacji.