我有一个程序集(它是一个 DLL)我想知道它是私有的还是公共的?我该怎么做,它存在一个程序来做到这一点?或者 Visual Studio 可以告诉你?谢谢
Omar Abid
问问题
756 次
3 回答
3
我假设您指的是 Private Assemblies 的独立应用程序概念。在这种情况下,程序集需要一个清单(基本上表明其版本),并且可能位于某个本地文件夹或并排缓存(SxS 文件夹)中。检测清单将是 dll 是私有的合理指示(尽管我认为这不是 100% 的测试,它可能足以满足您的需求)
私有程序集的概念与.Net 并不真正相关,因为只需将 dll 放在应用程序私有 bin 路径上的某个任意文件夹中就足够了,在这种情况下,程序集没有什么特别之处。
有 GAC 的概念,大致类似于非托管 dll 的 SxS 缓存。那里的任何程序集都将更容易访问,但适用于类、方法、成员的公共/私有概念绝不适用于程序集。
作为最后一点,您可能(尽管我不相信您是)正在考虑“朋友”组装概念。这可以通过程序集级别的InternalsVisibleTo属性或类型级别的StrongNameIdentityPermission来完成。
于 2009-02-15T13:24:34.093 回答
0
不幸的是,我认为没有很好的方法来解决这个问题。我知道的最好的方法是使用反射器来查看程序集的反编译版本。
希望有帮助,伊恩
于 2009-02-15T08:59:55.370 回答
0
你的意思是一个程序集是私有的还是公共的?也许您的意思是功能是私有的还是公共的?
但我想你可以试试Reflector。
于 2009-02-15T09:00:33.340 回答