按层次顺序在C#中进行程序集引用

时间:2015-04-07 11:27:15

标签: c# asp.net .net .net-assembly

我有一个包含class1A,class2A,class3A的类库A.然后我有另一个包含Class1B的类库B,它继承自程序集A的class1A。

我打算将程序集B交给第三方但没有程序集A.现在问题是第三方不能在class1B中使用classes1A的对象,直到项目引用程序集A.

有人可以告诉我如何实现这一目标。原因是我不希望第三方直接访问程序集A的类。

1 个答案:

答案 0 :(得分:0)

如果不重构“库A”,则无法实现所需的行为。

但是如果可以进行重构 - 您可以将库A中的所有public类更改为internal,然后将InternalsVisibleTo属性应用于这些类,您可以授予“库B”权限使用它们。

当然,在这种情况下,您仍然需要向您的客户提供“库A”,他将无法以通常的方式直接使用其类。但请注意 - 仍然可以使用reflection访问任何程序集的非公共方法和类,但您无法阻止此访问。