无法注册.net COM DLL

时间:2013-05-15 10:39:17

标签: .net

我已使用regasm工具注册了.net COM dll,注册成功。它说“类型已成功注册”。但是当我打开注册表时,我看不到我的dll。我使用ProgId和amp; clsId但不在那里。

我也以同样的方式注册了另一个dll并且它已成功注册,我可以从VB6 dll访问它。

可能是什么问题。这个DLL有什么问题吗?我以同样的方式为我的dll设置了项目属性,似乎已经成功注册了一个。

我应该测试从现有vb6工具访问的dll并且无法启动它。

由于

Nishitha

2 个答案:

答案 0 :(得分:1)

regasm.exe/regfile选项一起使用。这将创建一个reg文件,其中包含注册程序集时将要创建的所有条目。

如果文件不包含任何条目,则程序集不会导出任何COM类型。然后,您需要确保在项目属性中标记 Make assembly COM visible 选项,或者在相应类型上使用[ComVisible(true)]属性。

如果您使用的是64位系统,请确保使用正确版本的regasm,因为32位和64位有单独的版本:

  • %SYSTEMROOT%\Microsoft.NET\Framework\<framework version>\regasm.exe
  • %SYSTEMROOT%\Microsoft.NET\Framework64\<framework version>\regasm.exe

答案 1 :(得分:0)

我知道已经晚了六年,但是对于任何有此问题的人:您还需要确保您尝试注册的类型是公开的。 (根据我自己的经验,很容易忽略。)