.netCore启动项目需要引用由PrivateAssets = all分隔的子项目中使用的所有软件包?

时间:2019-09-12 10:02:08

标签: c# .net-core asp.net-core-2.2

创建这样的项目布局。

装配A->装配B->装配C。

程序存在于程序集A中。 ClassB居住在Assembly B中。 ClassC生活在程序集C中。

我不希望在AssemblyA中直接访问AssemblyC。因此,我在AssemblyB.csproj文件的ProjectReference元素中添加了PrivateAssets =“ All”。

在ClassC中,我需要使用程序集A或B不需要的NuGet包(让我们说Newtonsoft.Json 12.0.2)。

该项目将引发System.IO.FileNotFoundException:如果我也不将Newtonsoft.Json包也添加到启动项目A中,则在运行时无法加载文件或程序集“ Newtonsoft.Json”错误。在那里不需要它。

这是预期的行为吗?我想念什么吗?

我还在dotNet / cli页面上提出了一个问题:https://github.com/dotnet/cli/issues/12615

此外,这是我在GitHub上发布的一个演示:https://github.com/TestSubject09/netCoreIssueDemo1

0 个答案:

没有答案