【问题标题】:Entity Framework Core 2.0 on .NET 4.6.1.NET 4.6.1 上的实体框架核心 2.0
【发布时间】:2017-06-06 15:35:59
【问题描述】:

Microsoft just announced Entity Framework Core 2.0 现在将在 .NET Standard 2.0 上运行。

.Net Standard 2.0 与 .NET Framework 4.6.1 兼容(如果这是正确的术语)。

但是,当我尝试添加 latest NuGet package 时,我收到一条错误消息,告诉我我使用了错误的版本:

 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. 

如果根据公告我可以将 EF Core 2.0 与 .NET Framework 4.6.1 一起使用,请有人解释一下,如果可能的话,请举例说明它的外观。

【问题讨论】:

标签: entity-framework entity-framework-core


【解决方案1】:

似乎为了在 .NET 4.6.1 项目中包含 .NET Standard 2.0 库,您需要包含 NetStandard.Library.NetFramework NuGet 包。

packages.config 文件中的当前版本示例:

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

【讨论】:

  • VS 2017 15.5 preview 3 或更高版本“自动”为您执行此操作
  • 这个包已被弃用,有利于使用 Nuget 3.6+
  • @AlexWiese 是正确的。我还想指出在 VS2015 下使用 nuget 3.6 有一个陷阱,它似乎有一个bug。不过我是用2017安装项目的。
【解决方案2】:

除了安装 NETStandard.Library.NETFramework 包之外,您可能还必须通过将以下内容添加到您的 *.csproj 文件来告诉旧版 NuGet 客户端它确实是兼容的。

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

【讨论】:

    【解决方案3】:

    转到您的 .csproj 并更改您的 TargetFramework

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

    给它

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

    【讨论】:

      【解决方案4】:

      通过包管理器控制台运行Update-Package,这会以某种方式神奇地更新所有数据包,包括 .Net Core,默认情况下会阻止您通过 Nuget 更新它们,因为它需要 NetCore 2.0 目标,而您的目标是 4.6.1即使它应该兼容。

      如果您这样做,项目将完美运行,希望很快更新将直接通过 nuget 实现。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2021-07-14
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多