Metapaquete Microsoft.AspNetCore.All para ASP.NET Core 2.0Microsoft.AspNetCore.All metapackage for ASP.NET Core 2.0

Nota

Se recomienda que las aplicaciones que tengan como destino ASP.NET Core 2.1 y versiones posteriores usen el metapaquete Microsoft.AspNetCore.App en lugar de este paquete.We recommend applications targeting ASP.NET Core 2.1 and later use the Microsoft.AspNetCore.App metapackage rather than this package. Consulte Migración desde Microsoft.AspNetCore.All a Microsoft.AspNetCore.App en este artículo.See Migrating from Microsoft.AspNetCore.All to Microsoft.AspNetCore.App in this article.

Esta característica requiere ASP.NET Core 2.x con .NET Core 2.x como destino.This feature requires ASP.NET Core 2.x targeting .NET Core 2.x.

El metapaquete Microsoft.AspNetCore.All para ASP.NET Core incluye lo siguiente:The Microsoft.AspNetCore.All metapackage for ASP.NET Core includes:

  • Todos los paquetes admitidos por el equipo de ASP.NET Core.All supported packages by the ASP.NET Core team.
  • Todos los paquetes admitidos por Entity Framework Core.All supported packages by the Entity Framework Core.
  • Dependencias internas y de terceros usadas por ASP.NET Core y Entity Framework Core.Internal and 3rd-party dependencies used by ASP.NET Core and Entity Framework Core.

Todas las características de ASP.NET Core 2.x y Entity Framework Core 2.x están incluidas en el paquete 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. Las plantillas de proyecto predeterminada destinadas a ASP.NET 2.0 usan este paquete.The default project templates targeting ASP.NET Core 2.0 use this package.

El número de versión del metapaquete Microsoft.AspNetCore.All representa la versión de ASP.NET Core y la versión de Entity Framework Core.The version number of the Microsoft.AspNetCore.All metapackage represents the ASP.NET Core version and Entity Framework Core version.

Las aplicaciones que usan el metapaquete Microsoft.AspNetCore.All pueden aprovechar automáticamente el almacén en tiempo de ejecución de .NET Core.Applications that use the Microsoft.AspNetCore.All metapackage automatically take advantage of the .NET Core Runtime Store. El almacén en tiempo de ejecución contiene todos los recursos en tiempo de ejecución necesarios para ejecutar aplicaciones de ASP.NET Core 2.x.The Runtime Store contains all the runtime assets needed to run ASP.NET Core 2.x applications. Al usar el metapaquete Microsoft.AspNetCore.All, no se implementa ningún recurso de los paquetes NuGet de ASP.NET Core a los que se hace referencia con la aplicación, porque el almacén en tiempo de ejecución de .NET Core ya contiene esos recursos.When you use the Microsoft.AspNetCore.All metapackage, no assets from the referenced ASP.NET Core NuGet packages are deployed with the application — the .NET Core Runtime Store contains these assets. Los recursos del almacén en tiempo de ejecución se precompilan para mejorar el tiempo de inicio de la aplicación.The assets in the Runtime Store are precompiled to improve application startup time.

Puede usar el proceso de recorte de paquetes para quitar los paquetes que no se usan.You can use the package trimming process to remove packages that you don't use. Los paquetes recortados se excluyen de la salida de la aplicación publicada.Trimmed packages are excluded in published application output.

El siguiente archivo .csproj hace referencia al metapaquete Microsoft.AspNetCore.All de 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>

Control de versiones implícitasImplicit versioning

En ASP.NET Core 2.1 o una versión posterior, puede especificar la referencia de paquete Microsoft.AspNetCore.All sin una versión.In ASP.NET Core 2.1 or later, you can specify the Microsoft.AspNetCore.All package reference without a version. Si no se especifica la versión, el SDK define una versión implícita (Microsoft.NET.Sdk.Web).When the version isn't specified, an implicit version is specified by the SDK (Microsoft.NET.Sdk.Web). Es recomendable confiar en la versión implícita especificada por el SDK y no establecer de forma explícita el número de versión en la referencia del paquete.We recommend relying on the implicit version specified by the SDK and not explicitly setting the version number on the package reference. Si tiene alguna pregunta sobre este enfoque, deje un comentario de GitHub en Discussion for the Microsoft.AspNetCore.App implicit version (Debate sobre la versión implícita de 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 versión implícita se establece en major.minor.0 para las aplicaciones portátiles.The implicit version is set to major.minor.0 for portable apps. El mecanismo de puesta al día del marco de uso compartido ejecuta la aplicación en la versión más reciente compatible entre los marcos de uso compartidos instalados.The shared framework roll-forward mechanism runs the app on the latest compatible version among the installed shared frameworks. Para garantizar que se use la misma versión en el desarrollo, las pruebas y la producción, asegúrese de que en todos los entornos esté instalada la misma versión del marco de uso compartido.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. Para las aplicaciones autocontenidas, el número de versión implícita se establece en el valor major.minor.patch del marco de uso compartido incluido en el SDK instalado.For self-contained apps, the implicit version number is set to the major.minor.patch of the shared framework bundled in the installed SDK.

Especificar un número de versión en la referencia de paquete Microsoft.AspNetCore.All no garantiza que se seleccione la versión del marco de uso compartido.Specifying a version number on the Microsoft.AspNetCore.All package reference does not guarantee that version of the shared framework is chosen. Por ejemplo, suponga que se especifica la versión "2.1.1", pero está instalada la "2.1.3".For example, suppose version "2.1.1" is specified, but "2.1.3" is installed. En ese caso, la aplicación usará el valor "2.1.3".In that case, the app will use "2.1.3". Aunque no se recomienda, puede deshabilitar la puesta al día (revisión o secundaria).Although not recommended, you can disable roll forward (patch and/or minor). Para obtener más información sobre la puesta al día del host de dotnet y cómo configurar su comportamiento, vea Dotnet host roll forward (Puesta al día del host de dotnet).For more information regarding dotnet host roll-forward and how to configure its behavior, see dotnet host roll forward.

El SDK del proyecto se debe establecer en Microsoft.NET.Sdk.Web en el archivo de proyecto para usar la versión implícita de 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. Cuando se especifica el SDK Microsoft.NET.Sdk (<Project Sdk="Microsoft.NET.Sdk"> en la parte superior del archivo del proyecto), se genera la advertencia siguiente: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:

Advertencia NU1604: La dependencia del proyecto Microsoft.AspNetCore.All no contiene un límite inferior inclusivo. Incluya un límite inferior en la versión de dependencia para garantizar que los resultados de restauración son coherentes.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.

Este es un problema conocido con el SDK de .NET Core 2.1 y se corregirá en el SDK de .NET Core 2.2.This is a known issue with the .NET Core 2.1 SDK and will be fixed in the .NET Core 2.2 SDK.

Migración desde Microsoft.AspNetCore.All a Microsoft.AspNetCore.AppMigrating from Microsoft.AspNetCore.All to Microsoft.AspNetCore.App

En Microsoft.AspNetCore.All se incluyen los siguientes paquetes, pero no el paquete 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

Para pasar de Microsoft.AspNetCore.All a Microsoft.AspNetCore.App, si su aplicación usa las API de los paquetes anteriores, o bien paquetes incluidos en ellos, agregue las referencias correspondientes a dichos paquetes en el proyecto.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.

No se incluye implícitamente ninguna dependencia de los paquetes anteriores que no sea, de otro modo, una dependencia de Microsoft.AspNetCore.App.Any dependencies of the preceding packages that otherwise aren't dependencies of Microsoft.AspNetCore.App are not included implicitly. Por ejemplo:For example:

  • StackExchange.Redis como dependencia de Microsoft.Extensions.Caching.RedisStackExchange.Redis as a dependency of Microsoft.Extensions.Caching.Redis
  • Microsoft.ApplicationInsights como dependencia de Microsoft.AspNetCore.ApplicationInsights.HostingStartupMicrosoft.ApplicationInsights as a dependency of Microsoft.AspNetCore.ApplicationInsights.HostingStartup

Actualización de ASP.NET Core 2.1Update ASP.NET Core 2.1

Se recomienda migrar al metapaquete Microsoft.AspNetCore.App con la versión 2.1 y versiones posteriores.We recommend migrating to the Microsoft.AspNetCore.App metapackage for 2.1 and later. Para seguir usando el metapaquete Microsoft.AspNetCore.All y asegurarse de que se ha implementado la última versión de la revisión:To keep using the Microsoft.AspNetCore.All metapackage and ensure the latest patch version is deployed:

  • En los equipos de desarrollo y los servidores de compilación: instale el último SDK de .NET Core.On development machines and build servers: Install the latest .NET Core SDK.
  • En los servidores de implementación: instale el último .NET Core Runtime.On deployment servers: Install the latest .NET Core runtime. Su aplicación se pondrá al día con la última versión instalada al reiniciar la aplicación.Your app will roll forward to the latest installed version on an application restart.