c# - 检测到 NuGet 包的版本冲突
问题描述
我正在开发一个 ASP.Net 核心 2.1 Web 应用程序项目。我的解决方案中有 1 个项目和 3 个其他库,它是高级架构(数据访问层(DAL
)、业务层(BL
)、公共层(CL
)),所以我需要添加引用来连接一些库和项目。我添加了CL
对我的项目、库DAL
和BL
. 现在我必须添加BL
对我的项目的引用,但是当我添加时,我得到了这种类型的错误:
从 Microsoft.EntityFrameworkCore/Install/reference Microsoft.EntityFrameworkCore 2.2.1 检测到版本冲突直接到项目“WEB”以解决此问题
当我尝试安装该版本时,它说
包还原失败。回滚“WEB”的包更改
我还可以提一下,当我添加BL
对我的项目的引用时,它还包括DAL
, 和CL
本身,(并且DAL
包含Microsoft.EntityFrameworkCore
(2.2.1),无法理解问题是什么,有什么想法吗?
问题的附加图像在这里。
项目.csproj
<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 文件之一的本地目录路径请通过右键单击项目并选择 Edit {projectName}.scproj 查看您的 .csproj 文件
例如
<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# 项目的名称。
推荐阅读
- elasticsearch - Elasticsearch:仅检索字段不存在的文档_id
- c++ - 如何将另一个文件中的预定义函数导出到 C++ 中的共享文件(即 DLL 或 .SO)
- javascript - 在 GIF 动画结束时更改 URL
- python - OptionMenu 回调未按预期传递字符串或变量
- angular - 我如何让砖石在角度 8 中工作
- c# - katex 在 C# 中转换为 UTF-8
- python - Python 3 xml解析和打印问题
- ios - 为什么我的 UICollectionView 根本不显示?
- visual-studio-code - 如何使 VSCode 文件资源管理器菜单项对所选文件上下文敏感?
- sql - 如何使用新名称创建与现有表类型相同的 SQL 用户定义表类型?