Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/276.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 如果asp net核心应用程序中出现MSB3277,该怎么办_C#_Asp.net Core_.net Core_Nuget_Npgsql - Fatal编程技术网

C# 如果asp net核心应用程序中出现MSB3277,该怎么办

C# 如果asp net核心应用程序中出现MSB3277,该怎么办,c#,asp.net-core,.net-core,nuget,npgsql,C#,Asp.net Core,.net Core,Nuget,Npgsql,我使用的数据库项目引用EntityFrameworkCore 2.1.3包,但AspNetCore.App-metapackage包含EntityFrameworkCore 2.1.2。引入数据库项目后,我收到以下msbuild警告: Warning MSB3277 Found conflicts between different versions of "Microsoft.EntityFrameworkCore" that could not be resolved. 我在谷歌上搜索了一

我使用的数据库项目引用EntityFrameworkCore 2.1.3包,但AspNetCore.App-metapackage包含EntityFrameworkCore 2.1.2。引入数据库项目后,我收到以下msbuild警告:

Warning MSB3277 Found conflicts between different versions of "Microsoft.EntityFrameworkCore" that could not be resolved.
我在谷歌上搜索了一下,找到了这个医生:

我正在使用第三方库(Postgre的NpgSql),它依赖于2.1.3。。。 我应该降级所有包,以便它们使用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/运行时升级到2.1.4,以便运行包含EF Core 2.1.3的最新版本。

Npgsql.EntityFrameworkCore.PostgreSQL当前的版本为2.1.2,并依赖于Microsoft.EntityFrameworkCore 2.1.2。但是,将旧版本的Npgsql EF Core提供程序与更新版本的EF Core本身一起使用应该不会有任何问题


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

我的问题也是如此

警告MSB3277发现“Microsoft.AspNetCore.App”的不同版本之间存在无法解决的冲突

我已经用.net core sdk 2.2.204在计算机上开发了该项目。当我将项目从GIT复制到我的家庭计算机时,我遇到了这个错误。当我尝试VS2017和VS2019时,一切都没有改变。实际问题是SDK冲突。SDK 2.2.104是VS2017的最后一个稳定版本

当我将家用电脑升级到最新版本(2.2.300)时,问题就解决了


我希望这个解决方案对其他人很有效。其他方法我都试过了。

大家好,干渴:谢谢你的回答!metapackage是无版本的,我已经安装了最新的sdk——如果我尝试更改nuget版本,我无法使用以下信息:Blocked by project。即使我创建了一个新项目,我也不能使用比2.1.1更高的版本。我想我提出了一个新问题。。这超出了这个问题的范围。隐式依赖会在后面咬你一口。为EF Core本身添加一个明确的包引用。接受的答案解决了我的问题。但这才是我真正的问题所在: