我有两个松散耦合的组件A和B.每个组件都是一组C#类型。其中许多类型都是内部的。所有组件将一起编译到同一个程序集中并位于同一个项目中。
可以使用新的VS2010功能layer diagram检查B依赖于A而不是反之亦然的事实。但似乎没有办法检查B是否触及A的内部部分。
我不能将组件分成不同的程序集,并让编译器为我检查这个,因为那时必须有太多的程序集,我必须IL合并它们,这是我不想付出的代价。
我正在为这个问题寻找一些有用的解决方案。我需要一些工具来描述我认为组件作为输入,并验证组件之间的任何依赖关系,他们不会互相接触内部的东西。
我听说PostSharp可以通过将一些属性应用于内部类型来做类似的事情。在编织阶段,PostSharp验证不存在来自不同命名空间的那些类型的访问。这对我来说已经足够了,但我不记得属性名称,也找不到它。
任何人都可以在PostSharp中提醒我属性名称或提出任何其他工具吗?