你可以考虑添加StrongNameIdentityPermission到您的类库相匹配的强有力的名字,你的程序也希望能够与使用它.
或者,你可以探索使用InternalsVisibleToAttribute,虽然它可能需要你的库代码中的一些设计更改.只要程序集都没有签名,或者两者都使用强名称签名,这都应该有效.在属性上指定的参数应与您希望能够访问其内部成员的公钥和程序集的名称相匹配.
但实际上,这只会阻止那些没有非常努力地使用你的图书馆的人.他们将无法添加引用,但它不会阻止某人通过Reflection或反汇编代码绕过它.几乎所有安全措施都可以实现.