AspNetCore中的版本冲突

时间:2018-06-27 14:52:39

标签: c# asp.net-core

我有一个Asp.Net Core 2 Mvc项目。我目前正在尝试将数据访问权限分离到一个单独的项目中;但是,将引用添加到数据访问库后,就会发生版本冲突:

  

错误NU1107:检测到版本冲突   Microsoft.AspNetCore.Cryptography.Internal。参考包装   直接从项目中解决该问题。

     

错误NU1107:MySite.Web-> MySite.DataAccess->   Microsoft.Extensions.Identity.Stores 2.1.1->   Microsoft.Extensions.Identity.Core 2.1.1->   Microsoft.AspNetCore.Cryptography.KeyDerivation 2.1.1->   Microsoft.AspNetCore.Cryptography.Internal(> = 2.1.1)

     

错误NU1107:MySite.Web-> Microsoft.AspNetCore.App 2.1.0->   Microsoft.AspNetCore.Cryptography.Internal(= 2.1.0)。

我尝试改为引用实体框架身份,但它给出了相同的错误,但使用身份验证库。

我想以下几行是非常重要的建议:

  

直接从项目中引用软件包以解决此问题   问题。

但是,我不确定这到底是什么意思。我最初的想法是,我会在sed -i -re 's#obj/buildtools/third_party/libc[^[:space:]]*\s*##g' obj/webrtc.ninja find . -type f -name \*.ninja -a ! -name \*libc++* -exec sed -i -re 's/\s*-nostd(inc|lib)\+\+//' {} \+ find . -type f -name \*.ninja -a ! -name \*libc++* -exec sed -i -re 's/\s*\S*isystem\S*libc\+\+\S*//g' {} \+ find . -type f -name \*.ninja -exec sed -i -re 's#(--sysroot=)[^[:space:]]*#\1/#' {} \+ find . -type f -name \*.ninja -exec sed -i -re 's#(-L)[^[:space:]]*-sysroot#\1#g' {} \+ find . -type f -name \*.ninja -exec sed -i -re 's#(rpath-link=)[^[:space:]]*-sysroot#\1#g' {} \+ 项目中引用该软件包,但具体版本为2.1.0;但是当我这样做时,我会连续不断地以完美的方式重定向回该库。

5 个答案:

答案 0 :(得分:7)

发生这种情况的原因是您本地安装的Microsoft.AspNetCore.App的版本为2.1.0,而不是2.1.1。

要进行更新,您需要安装最新的SDK /运行时。

您可以在https://dot.net上找到它
只需转到下载并下载包含最新2.1.1运行时的2.1 SDK(v2.1.301)。

希望对您有帮助!

答案 1 :(得分:1)

您需要安装特定版本,例如.net核心为2.2,则仅需要安装Entity Framework 2.2,否则需要更新.net核心版本,但对于Visual Studio 2017,它仅适用于.net核心2.2租用版本,因此您需要根据Visual Studio 2017的.net核心版本进行安装。

请查看两个屏幕截图,以供您进一步参考。

enter image description here

enter image description here

答案 2 :(得分:0)

尝试更新SDK

如果没有安装软件包或与软件包不兼容

尝试从主项目的.csproj文件更改版本

<PropertyGroup>
   <TargetFramework>
netcoreapp2.1
</TargetFramework>
 </PropertyGroup>

答案 3 :(得分:0)

就我而言,我已经更新了我的项目之一以使用Microsoft.Extensions.Identity v3.0,这导致了错误-为Microsoft.AspNetCore.Cryptography.Internal检测到版本冲突。不是很直观的错误消息,但是将引用的项目回滚到Microsoft。Extensions.Identity2.2解决了该问题。

答案 4 :(得分:-1)

删除有冲突的参考,然后重试

Click Here