创建C#或VB.Net DLL后,您需要在目标计算机上注册。 您可以使用Microsoft的RegAsm.exe实用程序。
Regasm.exe是一个程序集注册工具,用于读取程序集中的元数据。并将所需的项添加到注册表中。注册表允许允许COM客户端(VB6应用程序或Microsoft VBA,例如Access,Excel等)创建.NET Framework类。类一经注册,则在任何 COM 客户程序都可以使用它,就好像该类是一个 COM 类。类仅在安装程序集时注册一次。程序集中的类实例直到被实际注册时,才能从 COM 中创建。
说明:
Regasm.exe所在路径没有被系统添加PATH环境变量中,因此,REGASM命令无法识别。使用时,需要DOS窗口切换到其存储路径后才能运行运行。其一般存储的路径为:C:WindowsMicrosoft.NETFrameworkv2.0.50727 系统的版本不同,运路径中的数字可能会有一些差异,如下面说明:
- 2.0,3.0和3.5等.Net Framework使用相同的RegAsm.exe,它位于.Net FrameworkV2.0文件夹里面如下路径。分X86/64位Framework
C:WindowsMicrosoft.NETFramework(32位Framework框架) V2.0.50727 RegAsm.exe
或者
C:WindowsMicrosoft.NET Framework64(64位Framework框架) V2.0.50727 RegAsm.exe
- 4.0以上版本的.Net Framework使用一个新的RegAsm.exe,它位于.Net FrameworkV4.0文件夹中。
C:WindowsMicrosoft.NETFramework(32位Framework框架)v4.0.30319 RegAsm.exe
或者
C:WindowsMicrosoft.NETFramework64(64位Framework框架)v4.0.30319 RegAsm.exe
如何运行RegAsm.exe
要执行RegAsm.exe,请用管理员权限打开一个命令提示符窗口,并进行切换到到RegAsm.exe所在的文件夹并运行它(否则将获得“RegAsm不被识别为内部或外部命令,可操作的程序或批处理文件”错误消息)。
切换到RegAsm.exe所在的文件夹并运行它
使用批处理命令来注册程序
如果需要在多台电脑上进行注册,或者要注册的DLL组件比较多的情况下,可以使用如下的批处理命令进行注册。
@echo off
set path = C:WindowsMicrosoft.NETFrameworkv2.0.50727;%path%
RegAsm /codebase E:ClassLibrary1.dll
pause
::E:COM.DELL为组件和存放全路径
::C:WindowsMicrosoft.NETFrameworkv2.0.50727;为REGASM.EXE所在文件夹路径。
说明:将上面批处理命令存为 CMD.bat 后,双击即可完成注册。当注册不成功时,在CMD.BAT文件上单击右键,选择以管理员身份运行即可完成注册。
安装
C:WINDOWSMicrosoft.NETFrameworkv1.1.4322RegAsm.exe "D:U8SOFTUAPRuntimeUFIDA.U890.Powert.Rd.dll" /tlb
C:WINDOWSMicrosoft.NETFrameworkv2.0.50727RegAsm.exe "D:U8SOFTUAPRuntimeUFIDA.U890.Powert.Rd.dll" /tlb
C:WINDOWSMicrosoft.NETFrameworkv4.0.30319RegAsm.exe "D:U8SOFTUAPRuntimeUFIDA.U890.Powert.Rd.dll" /tlb
卸载
C:WINDOWSMicrosoft.NETFrameworkv1.1.4322RegAsm.exe "D:U8SOFTUAPRuntimeUFIDA.U890.Powert.Rd.dll" /u
C:WINDOWSMicrosoft.NETFrameworkv2.0.50727RegAsm.exe "D:U8SOFTUAPRuntimeUFIDA.U890.Powert.Rd.dll" /u
C:WINDOWSMicrosoft.NETFrameworkv4.0.30319RegAsm.exe "D:U8SOFTUAPRuntimeUFIDA.U890.Powert.Rd.dll" /u



