我有.NET解决方案(用C++编写的一个项目,其他项目用C#编写)和它的库。如何检查.NET DLL是否已注册?
我想做一些starttest工具来测试所有C#,C++库是否正确注册。我怎样才能做到这一点?我如何问.NET如果一些C#或C++ COM库被注册? br
我有.NET解决方案(用C++编写的一个项目,其他项目用C#编写)和它的库。如何检查.NET DLL是否已注册?
我想做一些starttest工具来测试所有C#,C++库是否正确注册。我怎样才能做到这一点?我如何问.NET如果一些C#或C++ COM库被注册? br
一种方法是使用所谓的注册DLL来创建一个对象。如果它有效,那么你可以确定其正确注册的所有其他方法可能有点不可靠
你最好的办法是尝试实例化你的测试需要的每个类。解析引用和确定COM注册有点复杂(即使对于Windows)。例如,你可以在注册表中搜索你的COM对象的编号,但是这不会告诉你所有的依赖关系在那里,并且完整的对象和接口已经被正确注册。
如果存在COM组件的classid条目,则可以扫描/搜索注册表。或者您可能在注册时设置的其他一些密钥。
所有课程在这个蜂巢是registred:
HKEY_LOCAL_MACHINE/Software/Classes
另一种方法是尝试一个实例化COM对象,并检查它是否成功或失败。
注意有各种各样的原因,注册的DLL无法正常工作,我经常遇到的一个是缺少依赖DLL – 2010-06-16 01:37:08
是的,这是最常见的原因。 – 2010-06-16 08:42:09