RegAsm真正做了什么?文件在哪里被复制?

ahm*_*aie 7 c# dll regasm dllregistration ie-plugins

我们有一个基于spicIE的IE插件,目的是连接到一些外部设备.

为了连接这些外部设备,另一家公司开发了他们的令牌和DLL.我们需要有一些ActiveX和DLL来通过令牌进行身份验证.

问题是我们为IE开发的插件,最后一部分有一个install.bat文件,它运行一个RegAsm并注册DLL,然后在IE中查看该插件(或其更改).

从IE运行插件时,我们的代码找不到一些身份验证所需的DLL(将其命名为x.dll).注册的DLL在哪里复制?真的被复制了吗?我需要在我的插件的DLL存在的文件夹中有x.dll.

Ash*_*hes 8

简而言之,RegAsm将您的.NET程序集注册为COM可查看.从MSDN:一旦注册了类,任何COM客户端都可以使用它,就好像该类是COM类一样.安装程序集时,该类仅注册一次.在实际注册之前,无法从COM创建程序集中的类实例.

如果我没有在ActiveX中看到您的代码,如果我理解正确,您的ActiveX依赖于某些COM DLL,这就是您针对.NET DLL运行RegAsm的原因.

运行RegDllView以查找已注册的内容的详细信息,然后检查您是否确实实例化了实际已注册的对象.

此外,如果仍有问题,请尝试在VB6/Visual Studio 2010等中实例化对象或在早期绑定中等效,以查看是否有任何问题.检查实例化时的错误.