Referencing .net 4.7 framework assemblies in .net core 2 solution
当我试图引用ASP.NetCore2 MVC应用程序中的.NET 4.7 dll时,我遇到了一个问题。错误粘贴在下面:
0
.NET 4.7程序集是Web应用程序(core2 mvc)将使用的实体框架6库。我已经更新了我的核心2 Web应用程序以面向多个框架(netcoreapp2.0;net4.7)。
所以我想我想问的是如何在ASP.NET Core2.0解决方案中使用.net4.7程序集。
- 您真正想要的是NetStandard版本的库;它是什么库?是否存在NetStandard版本?
- 看起来你实际上在做相反的事情,并试图将NetCore2.0安装到一个Net4.7项目中;你能很清楚地知道你想在这里做什么吗?我对那个安装包行感到困惑。这里的web.csproj是什么,它的目标是什么?
- .NET Framework 4.7库可以在.NET Core 2.0项目中使用(通过.NET标准),但不能反过来使用,即目标为.NET Core 2.0的库不能安装在目标为.NET Framework 4.7的项目中。
- @MarcGravell-我正试图在核心2 Web项目中使用.NET 4.7框架程序集(EntityFramework 6项目)。为了实现这一点,我在Web项目文件上添加了Net47
- @Chrispratt,为了确认NetCore2.1项目(WebAPI)可以针对NetStandard 2.0项目(逻辑),该项目反过来使用.NET Framework 4.7.1库(WCF类库)。
- 我只想说,如果WCF因为集成项目而被迫向您施加压力,那么请远离NetCore和WCF。坚持使用".net framework"。省去很多麻烦和时间。
K,把东西拼凑在一起:
- 你有一个.NET核心Web项目
- 您希望添加实体框架6(ef 6),但它不会添加
- 所以你把EDOCX1[0]添加到csproj
添加net47是一个巨大的变化,这意味着它不再是一个.NET核心项目。csproj通常需要从这样一个基础性的改变中进行大量的清理,但可能会使它再次工作,但最终:如果这样做,您将不再拥有.NET核心项目。
您最好删除net47引用,并从ef 6迁移到ef core(Microsoft.EntityFramework.Core),后者以.NET标准2.0为目标。这将与EF6有一些API差异,但几乎可以肯定是更合适的方法。
如果您想要.NET框架Web项目,我可能建议从.NET框架模板开始。
- 我决定使用英孚核心。非常感谢你的建议。.NET核心对我来说是一个新的战场。