usar que porque net introduccion historia asp arquitectura asp.net-core nuget .net-core csproj .net-core-2.0

asp.net-core - introduccion - porque usar.net core



ActualizaciĆ³n a.NET Core 2.0: PackageTargetFallback y AssetTargetFallback no se pueden usar juntos (1)

En .NET Core 1.0 y 1.1, era necesario configurar PackageTargetFallback al hacer referencia a paquetes que funcionan en .NET Core pero que no lo admiten oficialmente, por ejemplo, bibliotecas PCL o bibliotecas creadas para el apodo heredado del marco dotnet.

Debido a esto, el proyecto ( .csproj , .fsproj , ...) contendrá una línea similar a:

<PackageTargetFallback>$(PackageTargetFallback);portable-net45+win8+wp8+wpa81;</PackageTargetFallback>

En la mayoría de los casos, esta línea simplemente se puede eliminar y el proyecto debe compilarse porque .NET Core 2.0 ya define AssetTargetFallback como net461 , lo que significa que cualquier paquete NuGet que sea compatible con .NET Framework 4.6.1 o superior se puede usar sin configuración adicional .

Si esto introduce más errores de compilación / restauración, cambie la línea a:

<AssetTargetFallback>$(AssetTargetFallback);portable-net45+win8+wp8+wpa81;</AssetTargetFallback>

La razón del cambio es que PackageTargetFallback se considera obsoleto y debe reemplazarse por AssetTargetFallback que se comporta solo ligeramente diferente.

El cambio netcoreapp2.0 en las herramientas es que netcoreapp2.0 y netstandard2.0 configuran automáticamente AssetTargetFallback que entra en conflicto con cualquier valor PackageTargetFallback definido en el archivo del proyecto.

Al actualizar un proyecto que se está compilando y ejecutando bien en .NET Core 1.0 o 1.1, actualizar el marco de destino a .NET Core 2.0 ( netcoreapp2.0 ) hace que la compilación falle con el siguiente error:

error NU1003: PackageTargetFallback and AssetTargetFallback cannot be used together. Remove PackageTargetFallback(deprecated) references from the project environment.

¿Cuál es la razón de este error y cómo se puede resolver hacer que el proyecto vuelva a compilarse?