我试图从VB脚本代码调用C#函数,我得到“Activex Component cant create object”错误。
我做了以下事情。
Option Explicit
Dim testwfhandler
Set testwfhandler= CreateObject("CoreComponentWorkflow.WorkflowHandler")
If Not testwfhandler Is Nothing Then
Call testwfhandler.test()
End If
Set testwfhandler= Nothing
从我服务器上安装的第三方应用程序(Tridion工作流程)执行此VB脚本。
不知道为什么会出现上述错误,当我直接从服务器执行相同的代码时,它可以正常工作。
test()这个函数只会创建一个日志文件并在其中添加一些文本。
答案 0 :(得分:3)
答案已通过评论提供,但我认为 有意义地提供一个真正的答案,以便其他人可以轻松找到它 回来。
根据VBScript的加载/执行方式,您应该使用32位或64位版本的RegAsm.exe注册DLL。
在64位操作系统上,您应该找到32位版本的regasm,C:\Windows\Microsoft.NET\Framework\v4.0.30319\RegAsm.exe
和64位版本的regasm应该在,
C:\Windows\Microsoft.NET\Framework64\v4.0.30319\RegAsm.exe
如果要在64位计算机上以32位模式自行运行VBScript,请参阅How do I run a VBScript in 32-bit mode on a 64-bit machine?