C# 检测到NuGet软件包的版本冲突
我正在从事一个ASP.NETCore2.1Web应用程序项目。我的解决方案中有1个项目和3个其他库,它是高级体系结构数据访问层DAL、业务层BL、公共层CL,所以我需要添加引用来连接一些库和项目。我已经将CL引用添加到我的项目以及库DAL和BL中。现在我必须将引用BL添加到我的项目中,但是当我添加时,我会遇到这种类型的错误: 检测到版本冲突fr Microsoft.EntityFrameworkCore/安装/直接将Microsoft.EntityFrameworkCore 2.2.1引用到项目“WEB”以解决此问题 当我试图安装该版本时,它会显示 包还原失败。正在回滚“WEB”的包更改 我还可以提到,当我将引用BL添加到我的项目中时,它还包括DAL和CL本身,DAL包含Microsoft.EntityFrameworkCore 2.2.1,无法理解问题所在,有什么想法吗 中问题的其他图像 project.csprojC# 检测到NuGet软件包的版本冲突,c#,asp.net,asp.net-core,C#,Asp.net,Asp.net Core,我正在从事一个ASP.NETCore2.1Web应用程序项目。我的解决方案中有1个项目和3个其他库,它是高级体系结构数据访问层DAL、业务层BL、公共层CL,所以我需要添加引用来连接一些库和项目。我已经将CL引用添加到我的项目以及库DAL和BL中。现在我必须将引用BL添加到我的项目中,但是当我添加时,我会遇到这种类型的错误: 检测到版本冲突fr Microsoft.EntityFrameworkCore/安装/直接将Microsoft.EntityFrameworkCore 2.2.1引用到项目
<Project Sdk="Microsoft.NET.Sdk.Web">
<PropertyGroup>
<TargetFramework>netcoreapp2.1</TargetFramework>
<AspNetCoreHostingModel>InProcess</AspNetCoreHostingModel>
</PropertyGroup>
<ItemGroup>
<PackageReference Include="Microsoft.AspNetCore.App" />
</ItemGroup>
<ItemGroup>
<ProjectReference Include="..\CL\CL.csproj" />
</ItemGroup>
</Project>
正如您所看到的,我已经添加了CL引用,现在我想添加BL引用并得到这个错误问题是因为您有一个{projectName}.csproj文件的本地目录路径 请右键单击project并选择Edit{projectName}.scproj来查看您的.csproj文件 e、 g 如果是,则转到Nuget Package Manager,并选择Nuget.org作为包源添加库 从nuget Package manager还原后,csproject文件将添加以下标记 到
这里{projectName}是C项目的名称。我只是想插话,我也有同样的问题,但使用EntityFrameworkCore 3.0预览版。我通过简单地将所有entityframework 3.0preview nuget包降级到最新的stable 2.2解决了这个问题
希望这对其他人也有帮助,花了我几个小时…选项1检查visual studio错误窗口并确定是哪个程序包引起了冲突。
确保两个软件包都有保存版本代码Toy还应向我们显示csproj文件。这里没有足够的信息来回答这个问题。请自下而上检查这一点。从错误消息中可以非常清楚地看到,在安装其他版本之前,您必须先将Microsoft.EntityFrameworkCore.Abstractions 2.2.1安装到webproject@Artur_Kamalyan发布实际错误,而不是错误的图像。包管理器输出窗口应该解释哪些包导致了冲突。发布csproj文件中的PackageReference元素,而不是包的图像。新的csproj文件格式非常干净,您应该能够找到它们easily@AmanB仔细阅读,这是我的Project.csproj,当我尝试安装Microsoft.EntityFrameworkCore 2.2.1时,它只包含Microsoft.AspNetCore.App。它应自动将PackageReference添加到Project.csproj,但安装失败everytime@Artur_Kamalyan这些链接返回404。你为什么不把问题中的代码写出来?这比上传一张图片所花费的时间要少,因为上传的时候图像会丢失,而不得不上传again@PanagiotisKanavos我不能上传图片,因为我没有+15的声誉,这就是为什么我用那种方式展示它们,您现在可以检查问题了吗?先生,请澄清这一部分:如果是,请转到Nuget Package Manager并添加您的库。从Nuget Package Manager还原后,选择Nuget.org作为包源。项目文件将添加以下标记。我将为包含HintPath的项目管理nuget软件包,但它已经将nuget.org作为软件包源了?如何从nuget package manager恢复?谢谢
<Reference Include="Microsoft.EntityFrameworkCore">
<HintPath>..\..\..\..\..\..\..\Program Files\dotnet\sdk\NuGetFallbackFolder\Microsoft.EntityFrameworkCore\2.1.1\lib\netstandard2.0\Microsoft.EntityFrameworkCore.dll</HintPath>
</Reference>
<PackageReference Include="Microsoft.Extensions.Identity.Stores" Version="2.1.1" />