lev*_*sel 2 c# dependencies projects-and-solutions asp.net-core asp.net-core-2.0
在使用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文件完成我想要的行为?谢谢!
我想到了。
为了使Project A引用B,B引用C,但A 不引用C,我将PrivateAssets="All"B的ProjectReference 添加到C,如下所示:
在B.csproj中
<ItemGroup>
<ProjectReference Include="..\C\C.csproj" PrivateAssets="All" />
</ItemGroup>
Run Code Online (Sandbox Code Playgroud)
此设置使C的引用私有,因此它仅存在于B中。现在引用B的项目将不再也引用C。
来源:https : //github.com/dotnet/project-system/issues/2313
| 归档时间: |
|
| 查看次数: |
1120 次 |
| 最近记录: |