gpt4 book ai didi

c# - 如何排除 ASP.NET Core 中的项目依赖项?

转载 作者:行者123 更新时间:2023-11-30 20:17:11 24 4
gpt4 key购买 nike

在我使用 ASP.NET Core 2.0 的解决方案中,我有三个项目:A、B 和 C。我希望项目依赖项的行为是 A 依赖 B,B 依赖 C,C 没有依赖项.

在 ASP.NET MVC 5 中,这很容易通过设置 A 引用 B 和 B 引用 C 来实现。但是在 Core 中,当一个项目依赖于另一个项目时,它也会继承该项目的所有依赖项。在这种情况下,这意味着 A 继承了 B 对 C 的依赖性。这种依赖性可以在 Visual Studio 的解决方案资源管理器中看到: .

我希望 A 依赖于 B,但不依赖于 B,如下所示: .

有谁知道如何通过 Visual Studio 或 .csproj 文件实现我想要的行为?谢谢!

最佳答案

我想通了。

为了让项目 A 引用 B 和 B 引用 C,但 A 引用 C,我将 PrivateAssets="All" 添加到 B 对 C 的 ProjectReference ,像这样:

在B.csproj

<ItemGroup>
<ProjectReference Include="..\C\C.csproj" PrivateAssets="All" />
</ItemGroup>

此设置使 C 的引用私有(private),因此它仅存在于 B 中。现在引用 B 的项目将不再引用 C。

来源:https://github.com/dotnet/project-system/issues/2313

关于c# - 如何排除 ASP.NET Core 中的项目依赖项?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46019867/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com