asp net core app出现MSB3277怎么办

What to do if MSB3277 occurs in asp net core app

我正在使用引用 EntityFrameworkCore 2.1.3 包的数据库项目,但 AspNetCore.App-元包包含 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

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

提前致谢

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

<PackageReference Include="Microsoft.AspNetCore.App" />

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

<PackageReference Include="Microsoft.EntityFrameworkCore" Version="2.1.0" />

引用该项目时,共享框架会自动使 EF Core 引用前滚到已安装的 .NET Core 的当前版本运行时间。

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

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

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

我的问题是一样的

"Warning MSB3277 Found conflicts between different versions of "Microsoft.AspNetCore.App”无法解决。”

我是在电脑上用.net core sdk 2.2.204开发的项目。当我将项目从 GIT 复制到我的家用计算机时出现此错误。当我尝试 VS2017 和 VS2019 时,没有任何改变。实际问题是SDK冲突。 SDK 2.2.104 是 VS2017 的最后一个稳定版本。

我把家里的电脑升级到最新版本(2.2.300)后问题解决了

我希望这个解决方案对其他人也适用。我已经尝试了所有其他方法。