我有一个包含class1A,class2A,class3A的类库A.然后我有另一个包含Class1B的类库B,它继承自程序集A的class1A。
我打算将程序集B交给第三方但没有程序集A.现在问题是第三方不能在class1B中使用classes1A的对象,直到项目引用程序集A.
有人可以告诉我如何实现这一目标。原因是我不希望第三方直接访问程序集A的类。
答案 0 :(得分:0)
如果不重构“库A”,则无法实现所需的行为。
但是如果可以进行重构 - 您可以将库A中的所有public
类更改为internal
,然后将InternalsVisibleTo属性应用于这些类,您可以授予“库B”权限使用它们。
当然,在这种情况下,您仍然需要向您的客户提供“库A”,他将无法以通常的方式直接使用其类。但请注意 - 仍然可以使用reflection访问任何程序集的非公共方法和类,但您无法阻止此访问。