首页 > 解决方案 > Visual Studio 2019 .netcore 加载项目的整个依赖树

问题描述

让我们采用以下经典架构:(vs 2019 net core 3.1)

在 D 的代码中,即使我不引用该项目,我也可以使用 B 的具体类而不会出现构建问题。C的引用自动带来B。

我找到了这个线程:在 Visual Studio 中,为什么所有文件都自动成为我的 C# 项目的一部分?显然这是一个新功能,它会让事情变得更容易。但是没有一个解决方案对我有用。

我怎样才能消除这种奇怪的行为?如果我在 D 中使用实现,如果想被迫使用接口并出现构建错误。

当我右键单击我的项目时,有两件事:“加载项目的直接依赖项”和“加载项目的整个依赖项树”这似乎是解决方案,但它只在版本中打开我的 .csproj...

谢谢 !

标签: c#architecturevisual-studio-2019.net-core-3.1

解决方案


您需要编辑 C 项目的 csproj 并更新:

<PackageReference Include="B" Version="X.X.X" />

经过

<PackageReference Include="B" Version="X.X.X">
   <PrivateAssets>all</PrivateAssets>
</PackageReference>

微软参考: https ://docs.microsoft.com/en-us/nuget/consume-packages/package-references-in-project-files?WT.mc_id=-blog-scottha#controlling-dependency-assets


推荐阅读