我已经使用 regasm 工具注册了一个 .net COM dll,并且注册成功。它说“类型注册成功”。但是当我打开注册表时,我看不到我的 dll。我使用 ProgId 和 clsId 进行了搜索,但没有。
我也以相同的方式注册了另一个 dll,它已成功注册,我可以从 VB6 dll 访问它。
会是什么问题。dll有问题吗?我以相同的方式为我的两个 dll 设置了项目属性,其中一个似乎已成功注册。
我应该测试从现有 vb6 工具访问的 dll 并且无法启动它。
谢谢
西塔
我已经使用 regasm 工具注册了一个 .net COM dll,并且注册成功。它说“类型注册成功”。但是当我打开注册表时,我看不到我的 dll。我使用 ProgId 和 clsId 进行了搜索,但没有。
我也以相同的方式注册了另一个 dll,它已成功注册,我可以从 VB6 dll 访问它。
会是什么问题。dll有问题吗?我以相同的方式为我的两个 dll 设置了项目属性,其中一个似乎已成功注册。
我应该测试从现有 vb6 工具访问的 dll 并且无法启动它。
谢谢
西塔
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
我知道这已经晚了六年,但对于任何有这个问题的人:您还需要确保您尝试注册的类型是公开的。(根据我自己的经验,这很容易被忽视。)