Metapacchetto Microsoft.AspNetCore.All per ASP.NET Core 2.0Microsoft.AspNetCore.All metapackage for ASP.NET Core 2.0

Il Microsoft.AspNetCore.All metapacchetto non è incluso in ASP.NET Core 3,0 e versioni successive.The Microsoft.AspNetCore.All metapackage isn't included in ASP.NET Core 3.0 and later. Per altre informazioni, vedere questo problema su GitHub.For more information, see this GitHub issue.

Nota

È consigliabile che le applicazioni destinate a ASP.NET Core 2.1 e versioni successive usino il metapacchetto Microsoft.AspNetCore.App invece di questo pacchetto.We recommend applications targeting ASP.NET Core 2.1 and later use the Microsoft.AspNetCore.App metapackage rather than this package. Vedere Migrazione da Microsoft.AspNetCore.All a Microsoft.AspNetCore.App in questo articolo.See Migrating from Microsoft.AspNetCore.All to Microsoft.AspNetCore.App in this article.

Questa funzionalità richiede ASP.NET Core 2.x con destinazione .NET Core 2.x.This feature requires ASP.NET Core 2.x targeting .NET Core 2.x.

Microsoft.AspNetCore.All è un metapacchetto che fa riferimento a un framework condiviso.Microsoft.AspNetCore.All is a metapackage that refers to a shared framework. Un framework condiviso è un set di assembly (file DLL) che non sono presenti nelle cartelle dell'app.A shared framework is a set of assemblies (.dll files) that are not in the app's folders. Il framework condiviso deve essere installato nel computer per eseguire l'app.The shared framework must be installed on the machine to run the app. Per altre informazioni, vedere The shared framework (Il framework condiviso).For more information, see The shared framework.

Il framework condiviso cui fa riferimento Microsoft.AspNetCore.All include:The shared framework that Microsoft.AspNetCore.All refers to includes:

  • Tutti i pacchetti supportati dal team ASP.NET Core.All supported packages by the ASP.NET Core team.
  • Tutti i pacchetti supportati da Entity Framework Core.All supported packages by the Entity Framework Core.
  • Le dipendenze interne e di terze parti usate da ASP.NET Core e da Entity Framework Core.Internal and 3rd-party dependencies used by ASP.NET Core and Entity Framework Core.

Tutte le funzionalità di ASP.NET Core 2.x e Entity Framework Core 2.x sono incluse nel pacchetto Microsoft.AspNetCore.All.All the features of ASP.NET Core 2.x and Entity Framework Core 2.x are included in the Microsoft.AspNetCore.All package. I modelli di progetto predefiniti destinati ad ASP.NET Core 2.0 usano questo pacchetto.The default project templates targeting ASP.NET Core 2.0 use this package.

Il numero di versione del metapacchetto Microsoft.AspNetCore.All rappresenta le versioni minime di ASP.NET Core e di Entity Framework Core.The version number of the Microsoft.AspNetCore.All metapackage represents the minimum ASP.NET Core version and Entity Framework Core version.

Il file con estensione csproj seguente fa riferimento al metapacchetto Microsoft.AspNetCore.All per ASP.NET Core:The following .csproj file references the Microsoft.AspNetCore.All metapackage for 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>

Controllo delle versioni implicitoImplicit versioning

In ASP.NET Core 2.1 o versioni successive è possibile specificare il riferimento al pacchetto Microsoft.AspNetCore.All senza la versione.In ASP.NET Core 2.1 or later, you can specify the Microsoft.AspNetCore.All package reference without a version. Quando la versione non è specificata, il SDK specifica una versione implicita (Microsoft.NET.Sdk.Web).When the version isn't specified, an implicit version is specified by the SDK (Microsoft.NET.Sdk.Web). È consigliabile basarsi sulla versione implicita specificata dall'SDK e non impostando in modo esplicito il numero di versione sul riferimento al pacchetto.We recommend relying on the implicit version specified by the SDK and not explicitly setting the version number on the package reference. In caso di domande su questo approccio, lasciare un commento GitHub nella pagina della discussione per la versione implicita Microsoft.AspNetCore.App.If you have questions about this approach, leave a GitHub comment at the Discussion for the Microsoft.AspNetCore.App implicit version.

La versione implicita è impostata su major.minor.0 per le app portabili.The implicit version is set to major.minor.0 for portable apps. Il meccanismo di roll forward del framework condiviso esegue l'app sulla versione compatibile più recente tra i framework condivisi installati.The shared framework roll-forward mechanism runs the app on the latest compatible version among the installed shared frameworks. Per garantire che venga usata la stessa versione in fase di sviluppo, test e produzione, verificare che in tutti gli ambienti sia installata la stessa versione del framework condiviso.To guarantee the same version is used in development, test, and production, ensure the same version of the shared framework is installed in all environments. Per le app autonome, il numero di versione implicita è impostato sul valore major.minor.patch del framework condiviso nel bundle nell'SDK installato.For self-contained apps, the implicit version number is set to the major.minor.patch of the shared framework bundled in the installed SDK.

Il fatto di specificare un numero di versione nel riferimento del pacchetto Microsoft.AspNetCore.All non garantisce che verrà scelta la versione corrispondente del framework condiviso.Specifying a version number on the Microsoft.AspNetCore.All package reference does not guarantee that version of the shared framework is chosen. Si supponga ad esempio che venga specificata la versione "2.1.1" ma che sia installata la versione "2.1.3".For example, suppose version "2.1.1" is specified, but "2.1.3" is installed. In tal caso, l'app userà "2.1.3".In that case, the app will use "2.1.3". Benché non sia consigliabile, è possibile disabilitare il roll forward (patch e/o versioni secondarie).Although not recommended, you can disable roll forward (patch and/or minor). Per altre informazioni su come eseguire il roll forward dell'host dotnet e configurarne il comportamento, vedere dotnet host rollforward (Roll forward dell'host dotnet).For more information regarding dotnet host roll-forward and how to configure its behavior, see dotnet host roll forward.

Il SDK del progetto deve essere impostato su Microsoft.NET.Sdk.Web nel file di progetto perché venga usata la versione implicita di Microsoft.AspNetCore.All.The project's SDK must be set to Microsoft.NET.Sdk.Web in the project file to use the implicit version of Microsoft.AspNetCore.All. Se è specificato il SDK Microsoft.NET.Sdk (<Project Sdk="Microsoft.NET.Sdk"> nella parte superiore del file di progetto), viene generato l'avviso seguente:When the Microsoft.NET.Sdk SDK is specified (<Project Sdk="Microsoft.NET.Sdk"> at the top of the project file), the following warning is generated:

Avviso NU1604: La dipendenza Microsoft.AspNetCore.All del progetto non contiene un limite inferiore inclusivo. Includere un limite inferiore nella versione della dipendenza per garantire risultati di ripristino coerenti.Warning NU1604: Project dependency Microsoft.AspNetCore.All does not contain an inclusive lower bound. Include a lower bound in the dependency version to ensure consistent restore results.

Si tratta di un problema noto con .NET Core 2.1 SDK, che verrà risolto in .NET Core 2.2 SDK.This is a known issue with the .NET Core 2.1 SDK and will be fixed in the .NET Core 2.2 SDK.

Migrazione da Microsoft.AspNetCore.All a Microsoft.AspNetCore.AppMigrating from Microsoft.AspNetCore.All to Microsoft.AspNetCore.App

I pacchetti seguenti sono inclusi in Microsoft.AspNetCore.All ma non il pacchetto Microsoft.AspNetCore.App.The following packages are included in Microsoft.AspNetCore.All but not the Microsoft.AspNetCore.App package.

  • 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

Per passare da Microsoft.AspNetCore.All a Microsoft.AspNetCore.App, se l'app usa qualsiasi API dai pacchetti sopra o pacchetti inseriti da tali pacchetti, aggiungere i riferimenti a tali pacchetti nel progetto.To move from Microsoft.AspNetCore.All to Microsoft.AspNetCore.App, if your app uses any APIs from the above packages, or packages brought in by those packages, add references to those packages in your project.

Tutte le dipendenze dei pacchetti precedenti che non sono in altro modo dipendenze di Microsoft.AspNetCore.App non sono incluse in modo implicito.Any dependencies of the preceding packages that otherwise aren't dependencies of Microsoft.AspNetCore.App are not included implicitly. Ad esempio:For example:

  • StackExchange.Redis come dipendenza di Microsoft.Extensions.Caching.RedisStackExchange.Redis as a dependency of Microsoft.Extensions.Caching.Redis
  • Microsoft.ApplicationInsights come dipendenza di Microsoft.AspNetCore.ApplicationInsights.HostingStartupMicrosoft.ApplicationInsights as a dependency of Microsoft.AspNetCore.ApplicationInsights.HostingStartup

Aggiornare ASP.NET Core 2.1Update ASP.NET Core 2.1

È consigliabile eseguire la migrazione al metapacchetto Microsoft.AspNetCore.App per la versione 2.1 e versioni successive.We recommend migrating to the Microsoft.AspNetCore.App metapackage for 2.1 and later. Per continuare a usare il metapacchetto Microsoft.AspNetCore.All e assicurarsi che venga distribuita la versione della patch più recente:To keep using the Microsoft.AspNetCore.All metapackage and ensure the latest patch version is deployed:

  • Nei computer di sviluppo e nei server di compilazione: installare la versione più recente di .NET Core SDK.On development machines and build servers: Install the latest .NET Core SDK.
  • Nei server di distribuzione: installare la versione più recente del runtime .NET Core.On deployment servers: Install the latest .NET Core runtime. L'app eseguirà il roll forward all'ultima versione installata al riavvio dell'applicazione.Your app will roll forward to the latest installed version on an application restart.