有没有办法有只有经授权的来源可访问的.NET程序集?
我的意思是我想有一个包含组件的DLL,但我不希望任何人能在我的解决方案中使用这些组件,但其他DLL EXE文件。 我想他们是在分离的DLL虽然。
在命名空间限制也可能是一个好主意,如果这个功能存在那里。
有没有办法?
有没有办法有只有经授权的来源可访问的.NET程序集?
我的意思是我想有一个包含组件的DLL,但我不希望任何人能在我的解决方案中使用这些组件,但其他DLL EXE文件。 我想他们是在分离的DLL虽然。
在命名空间限制也可能是一个好主意,如果这个功能存在那里。
有没有办法?
您可以创建内部类。 而给你指定的组件通过访问这些类InternalsVisibleTo属性。
该组件应强命名。 你可以找到有关属性的更多信息这篇文章 。
具有内部类的问题是内部没有意义在IL和类可以通过反射被调用。 因此,使用InternalsVisibleTo更是一个编译器比什么都重要帮手。
您可以进一步使用走一步StrongNameIdentityPermission如果公钥不匹配,那么一个安全异常-这将检查强命名程序调用到代码的公钥。 当代码通过反射调用此甚至强制执行。