我有一个项目,它引用了“公用事业”项目。 “Utilities”项目引用了第3个项目。所有都具有相同的命名空间,但我不能从主项目中“使用OurNamespace.Utilities.3rdProject”。
我需要保留它以便所有其他新项目,只需引用“Utilities”项目并访问通过它引用的所有其他名称空间。我不能在所有项目中包含所有参考文献。
/ edit(它级联)
主要项目(参考公用事业) - 公用事业 - 具有由Utilities引用的相同名称空间的项目
在Main项目中,我现在需要能够访问Utilities引用中引用的项目中的命名空间,但不能将其专门添加到主项目中。
修改 的 “Project 1”引用了Utilities
using Utilities.Namespace1;
在Utilities中,另一个项目使用Namespace2
引用我现在想要从“Project 1”
访问Namespace2using Utilities.Namespace2;
无需在“Project 1”中专门引用BOTH,因为会有多个项目引用Utilities
答案 0 :(得分:0)
如果要在另一个程序集中直接使用程序集的组件,则需要引用。 “直接”是指强烈打字的方式,例如:
相反,“间接”使用是指Utilities程序集在后台使用第3个项目的组件,但不发布这些组件,例如通过公共财产,公共方法的论据等 要进一步阐明程序集和命名空间:一个不引用命名空间,而是引用程序集。命名空间仅用于使类型名称唯一。从技术角度来看,命名空间和程序集名称彼此完全独立(尽管使用程序集名称启动命名空间是一种很好的做法)。因此,在两个程序集中具有相同的命名空间,不会以任何方式改变这种情况;如果你想使用其他组件的类型,你仍然需要一个参考 为了解决您的问题,您可以添加对第3个项目的引用,或者如果您不能这样做,请执行以下操作之一: