c# - 如何强制降级 dotnet core 中的交互依赖
问题描述
我的名为 A 的应用程序依赖于 nuget 库 B 和 nuget 库 C 版本 1.1.1,在 csproj 中使用 PackageReference。
<PackageReference Include="B" Version="1.0.0" />
<PackageReference Include="C" Version="1.1.1" />
但是,库 B 依赖于库 C >= 1.1.2。
<PackageReference Include="C" Version="1.1.2" />
我无法将我的应用程序更改为在 C 版本 1.1.2 上运行,我知道 B 可以在 C 版本 1.1.1 上正常工作。
如何强制我的应用 A 使用 C 版本 1.1.1 运行?具体来说,我需要删除编译器错误 CS1705。以前在完整框架中我会使用绑定重定向,但我知道这些在 dotnet 核心中不可用。
A
- B
- C (v = 1.1.1)
B
- C (v >= 1.1.2)
解决方案
我不确定这是否会解决您的 CS1705 问题,但是要为包 C 提供 1.1.1 的确切版本,那么您将使用Version Ranges。
例如。<PackageReference Include="C" Version="[1.1.1]" />
您还可以尝试使用隐式版本控制,让构建过程为您决定。你会Version
从<PackageReference />
例如。<PackageReference Include="C" />
推荐阅读
- python - Discord Bot 在不应该的情况下随机发送多次命令
- regex - 返回破折号后跟单个字符
- components - 当`customElement:true`时如何使用`svelte-spa-router`?
- python - 使用 jupyter notebook 导入熊猫时出现 Python 错误 - UnicodeDecodeError: 'utf-8' codec can't decode byte 0xfa in position 3152: invalid start byte
- angular - Angular RxJS 主题订阅和取消订阅
- reactjs - 将另一个组件的 function 和 useStates 作为 props 传递
- html - 被点击的按钮应在名为目标的 iframe 中打开网页
- ios - 堆叠轮播 SwiftUI
- excel - 水晶报表显示文字
- python - 在 postgresql 查询中使用多个 pandas 列表来过滤数据