我正在研究ASP.Net核心2.1 Web应用程序项目。我的解决方案中有1个项目,还有其他3个库,它们是高级架构(数据访问层(DAL
),业务层(BL
,公共层(CL
)),所以我需要添加引用以连接一些库和项目。我为项目和库CL
和DAL
添加了BL
引用。现在,我必须向项目添加引用BL
,但是当我添加项目时,会出现这种错误:
从Microsoft.EntityFrameworkCore /安装/引用Microsoft.EntityFrameworkCore 2.2.1到版本'WEB'直接检测到版本冲突
当我尝试安装该版本时,它会显示
打包还原失败。回滚“ WEB”的软件包更改
我还可以提到,当我向项目中添加引用BL
时,它还包含DAL
和CL
本身,(而DAL
包含{{1} }(2.2.1),无法理解问题所在,有任何想法吗?
https://imgur.com/a/rtjfP1i此处的问题的其他图片
project.csproj
Microsoft.EntityFrameworkCore
您已经看到,我已经添加了<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
参考并得到此错误
答案 0 :(得分:0)
问题是因为您拥有{projectName} .csproj文件之一的本地目录路径 右键单击项目,查看.csproj文件,然后选择Edit {projectName} .scproj
例如
<Reference Include="Microsoft.EntityFrameworkCore">
<HintPath>..\..\..\..\..\..\..\Program Files\dotnet\sdk\NuGetFallbackFolder\Microsoft.EntityFrameworkCore\2.1.1\lib\netstandard2.0\Microsoft.EntityFrameworkCore.dll</HintPath>
</Reference>
如果可以,请转到Nuget软件包管理器,然后选择nuget.org作为软件包源,添加您的库
从nuget包管理器csproject文件还原后,将添加以下标签 到
<PackageReference Include="Microsoft.Extensions.Identity.Stores" Version="2.1.1" />
此处{projectName}是C#项目的名称。
答案 1 :(得分:0)
我只想解决这个问题,但是使用EntityFrameworkCore 3.0预览版。我通过简单地将所有entityframework 3.0(preview)nuget包降级到最新的稳定版(2.2)来解决了这个问题。
希望这对某人也有帮助,花了我几个小时...
答案 2 :(得分:0)
选项1检查Visual Studio错误窗口,并确定哪个程序包引起冲突。 确保两个软件包都保存了版本代码