在 .NET Framework Class 库项目中安装 Entity Framework Core 2.0 产生无效引用

Installing Entity Framework Core 2.0 in a .NET Framework Class Library Project Yields Invalid References

使用 Visual Studio 2017 (15.3.2)

您得到对 System.Reflection 和其他人的无效引用。

我可以编译,但是,在更复杂的情况下,当我使用 Entity Framework 的某些功能时,我会收到 运行 次缺少标准 System.* 库的异常。

我尝试先添加 NetStandard.Library 然后再添加 Entity Framework Core 2,但我遇到了同样的问题。

我必须使用 .NET Framework (Class Lib),因为这是一个引用 ASP.NETCore2/NETFramework 网站的单元测试项目。

知道我应该做什么吗?

这可以通过在 csproj 文件中显式设置这两个属性让 MSBuild 自动生成必要的绑定重定向来解决(您可以将 <ItemGroup> 作为子元素放在根 <Project> 元素或添加到没有 Condition= 属性的现有 <ItemGroup>):

<PropertyGroup>
  <AutoGenerateBindingRedirects>true</AutoGenerateBindingRedirects>
  <GenerateBindingRedirectsOutputType>true</GenerateBindingRedirectsOutputType>
</PropertyGroup>

请注意,如果您已经有包含绑定重定向的 App.config,这可能会发出警告。您可以删除这些重定向。