在.net core 2解决方案中引用.net 4.7框架程序集

时间:2018-02-06 12:58:25

标签: c# .net entity-framework-6 asp.net-core-2.0

当我尝试在我的Asp.NetCore 2 MVC应用程序中引用.net 4.7 DLL时,我遇到了一个问题。错误粘贴在下面:

  

PM>安装包Microsoft.NETCore.App -Version 2.0.0还原   包的../ Web.csproj ...安装包:包   Microsoft.NETCore.App 2.0.0与net47不兼容   (.NETFramework,版本= V4.7)。打包Microsoft.NETCore.App 2.0.0

     

支持:

     
      
  • netcoreapp(.NETCoreApp,Version = v0.0)
  •   
  • netcoreapp2.0(.NETCoreApp,Version = v2.0)
  •   

.Net 4.7程序集是一个实体框架6库,将由Web应用程序(core2 mvc)使用。我已经更新了我的核心2 Web应用程序以定位多个框架(netcoreapp2.0; net4.7)。

所以我想我想问的是如何在ASP.Net core2.0解决方案中使用.Net4.7程序集。

1 个答案:

答案 0 :(得分:2)

K,把事情拼凑在一起:

  • 您有一个.NET Core Web项目
  • 您想添加实体框架6(EF 6),但不会添加
  • 所以你将<TargetFrameworks>net47</TargetFrameworks>添加到csproj

添加<TargetFrameworks>net47</TargetFrameworks>是一个巨大的变化 - 这意味着它实际上不再是.NET Core项目。 csproj通常需要从这种基础更改中进行相当多的清理,但可能可以使其再次工作,但最终:如果你这样做,你将不再拥有.NET Core项目。

您可能最好删除 net47引用,并从EF 6迁移到EF Core(Microsoft.EntityFramework.Core) - 这些目标是.NET Standard 2.0。这与EF6有一些API差异,但几乎可以肯定是更合适的方法。

如果您想要 .NET Framework Web项目,我可能会建议从.NET Framework模板启动