使用 VS2017,项目 A 使用 NHibernate 并具有对 Iesi.Collections.dll(由 NHibernate 使用)的 NuGet 引用。项目 B 引用了项目 A,虽然 B 没有明确引用它,但 Iesi.Collections.dll 仍然出现在项目 B 的 bin\debug 文件夹中。项目 C 引用了项目 B,但现在 Iesi.Collections.dll 未出现在其 bin\debug 文件夹中,并且在编译时会产生运行时错误。
我已尝试将项目 A 中对 Iesi.Collections.dll 的引用上的 Copy Local 字段显式更改为 False,然后返回 True 并验证它已在 csproj 文件中添加了 True 元素,但这没有帮助。
我还尝试使用 NuGet 在项目 A 中删除和重新添加引用,但这也没有帮助。
我希望项目 C 将 Iesi.Collections.dll 程序集包含在它的 bin\debug 输出文件夹中,因为这是项目 A 的依赖项,项目 C 不需要知道要引用哪些程序集以使 A 工作(分离的担忧)。