我需要掌握我的CLR编译知识,所以我将在一般性方面发言...如果我不够具体,那就是Appologies。
我正在开发一个引用COM库dll的应用程序,其中包含许多dll。我的问题是,是否可以使用Reflection来获取对sub dll程序集的引用,即获取版本号?
或者,如果这个问题毫无意义,我会尝试改写。
答案 0 :(得分:2)
没有办法,你无法找出COM服务器可能使用的DLL。在非托管代码中没有类似Assembly.GetReferencedAssemblies()的东西。 Process.Modules尽可能接近但是没有办法发现你将迭代的模块实际上与服务器相关联,而不是被例如OpenFileDialog或一些模糊的病毒扫描程序垃圾邮件加载。
如果您知道DLL名称及其位置,则可以使用FileVersionInfo类获取其非托管版本资源信息。