如何检查.NET DLL是否已注册?

时间:2010-06-14 16:03:18

标签: c# c++ .net dll dllregistration

我的.NET解决方案(一个用C ++ COM编写的项目,其他用C#编写)和它的库。

我想制作一些starttest工具,测试所有C#,C ++库是否正确注册。我怎样才能做到这一点?如果某个C#或C ++ COM库被注册,我怎么能问.NET呢? BR

3 个答案:

答案 0 :(得分:2)

一种方法是使用假定注册的DLL创建对象。如果它有效,那么你可以确定它正确注册所有其他方法可能有点不可靠

答案 1 :(得分:1)

如果有COM组件的classid条目,则可以扫描/搜索注册表。或者您可能在注册时设置的其他一些密钥。

所有课程都在这个蜂巢中注册:

HKEY_LOCAL_MACHINE/Software/Classes

另一种方法是尝试实例化COM对象并检查它是成功还是失败。

答案 2 :(得分:0)

您最好的方法是尝试实例化您的测试所需的每个类。解析引用和确定COM注册有点复杂(即使对于Windows)。

例如,您可以在注册表中搜索COM对象的prog id,但这不会告诉您所有依赖项都存在,并且正确注册了完整的对象和接口。