我正在将旧式 MsBuild csproj 项目迁移到使用 PackageReference 格式,并且遇到了传递依赖的问题。
请考虑以下项目 A 引用 NuGet 包 B 和 C,每个都包含一个使用 PackageReference 的程序集。在构建项目 A 使用 IL 合并将 B 作为公共符号合并到 A 程序集中,并将 C 作为内部化符号。项目 D 有一个对 A 的项目引用。
传递依赖案例 D 引用 A、B 和 C。在构建 D 时,出现类型错误 CS0433 的编译错误:在“A”和“B”中都存在类型“X”。
有没有办法强制 D 在上面的场景中不添加对 B 或 C 的显式引用?