如果MSB3277出现在asp net core app中该怎么办

我正在使用引用EntityFrameworkCore 2.1.3包的Database-Project,但AspNetCore.App-metapackage包含EntityFrameworkCore 2.1.2。 引入我的数据库项目后,我得到这个msbuild警告:

Warning MSB3277 Found conflicts between different versions of "Microsoft.EntityFrameworkCore" that could not be resolved. 

我搜索了一下,我找到了这个文档: https ://docs.microsoft.com/en-us/aspnet/core/fundamentals/metapackage-app?view=aspnetcore-2.1

我使用的第三方库(NpgSql for Postgre)依赖于2.1.3 …我应该降级所有软件包,以便他们使用efcore 2.1.2软件包还是应该忽略这个警告? 或者更好的问题:哪种方式不那么痛苦?

提前致谢

确实,Npgsql.EntityFrameworkCore.PostgreSQL目前的版本为2.1.2,并且依赖于Microsoft.EntityFrameworkCore 2.1.2。 但是,使用旧版本的Npgsql EF Core提供程序与更新的EF Core补丁版本本身应该没有任何问题。

您可以通过在您自己的项目中直接依赖Microsoft.EntityFrameworkCore 2.1.3来摆脱此警告。

在这种情况下引用这些包的推荐方法是在Web项目中引用无版本的应用程序元数据包:

  

在库项目中,您应该仅引用补丁级别为0的次要版本:

  

引用该项目时,共享框架将自动使EF Core参考卷转发到已安装的.NET Core运行时的当前版本。

如果您无法降级该库项目中的EF Core引用,则最佳解决方案可能是将.NET Core SDK /运行时升级到2.1.4,以便运行包含EF Core 2.1.3的最新版本。