tutorial stored framework first espaƱol code entity-framework entity-framework-core

stored - Entity Framework Core 2.0 en.NET 4.6.1



entity framework core stored procedure (4)

Microsoft acaba de anunciar que Entity Framework Core 2.0 ahora se ejecutará en .NET Standard 2.0.

.Net Standard 2.0 es compatible (si ese es el término correcto aquí) con .NET Framework 4.6.1.

Sin embargo, cuando intento agregar el último paquete NuGet, aparece un error que me dice que estoy usando la versión incorrecta:

Install-Package : Could not install package ''Microsoft.EntityFrameworkCore.SqlServer 2.0.0-preview2-25332''. You are trying to install this package into a project that targets ''.NETFramework,Version=v4.6.1'', but the package does not contain any assembly references or content files that are compatible with that framework.

Si de acuerdo con el anuncio, puedo usar EF Core 2.0 con .NET Framework 4.6.1, ¿puede alguien explicarlo y, si es posible, dar un ejemplo de cómo se vería?


Además de instalar el paquete NETStandard.Library.NETFramework , es posible que también tenga que decirle a los clientes de NuGet anteriores que realmente es compatible agregando lo siguiente a su archivo *.csproj .

<PropertyGroup> <PackageTargetFallback>netstandard2.0</PackageTargetFallback> </PropertyGroup>


Ejecute Update-Package través de la Consola del Administrador de Paquetes, esto de alguna manera actualizará mágicamente todos los paquetes, incluido el .Net Core, que de manera predeterminada evitará que los actualice a través de Nuget, ya que necesita un destino NetCore 2.0, mientras que su objetivo es 4.6.1, aunque debe ser compatible.

El proyecto funcionará perfectamente si haces esto y, con suerte, las actualizaciones serán viables directamente a través de nuget como deberían ser.


Parece que para incluir las bibliotecas .NET Standard 2.0 en un proyecto .NET 4.6.1 debe incluir el paquete NetStandard.Library.NetFramework NuGet.

Ejemplo de la versión actual en el archivo packages.config:

<package id="NETStandard.Library.NETFramework" version="2.0.0-preview1-25305-02" targetFramework="net461" />


Vaya a su .csproj y cambie su TargetFramework

<PropertyGroup> <PackageTargetFallback>netstandard2.0</PackageTargetFallback> </PropertyGroup>

lo

<PropertyGroup> <TargetFramework>netcoreapp2.0</TargetFramework> </PropertyGroup>