C# 获得;Activex组件无法创建对象“;
我试图从VB脚本代码中调用C#函数,我遇到“Activex组件无法创建对象”错误 我已经做了以下工作C# 获得;Activex组件无法创建对象“;,c#,com,registry,C#,Com,Registry,我试图从VB脚本代码中调用C#函数,我遇到“Activex组件无法创建对象”错误 我已经做了以下工作 创建了具有ProgID、Comvisible True和strong命名的类库 使用RegAsm.exe/codebase dllpath注册dll(dll注册成功,我可以在注册表中看到) 使用VB脚本代码创建对象并调用C#函数,如下所示 选项显式 Dim testwfhandler 设置testwfhandler=CreateObject(“CoreComponentWorkflow.Work
选项显式
Dim testwfhandler
设置testwfhandler=CreateObject(“CoreComponentWorkflow.WorkflowHandler”)
如果不是testwfhandler,则为Nothing
调用testwfhandler.test()
如果结束
设置testwfhandler=Nothing
我从安装在我的服务器上的第三方应用程序(Tridion工作流)执行此VB脚本
我不知道为什么会出现上述错误,当我直接从服务器执行相同的代码时,它工作正常
test()此函数将只创建一个日志文件,并在其中添加一些文本
答案已经在评论中给出了,但我想是的
提供一个真实的答案以便其他人能够轻松找到它是有意义的
回来
根据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,请参阅
答案已经在评论中给出了,但我想是的
提供一个真实的答案以便其他人能够轻松找到它是有意义的
回来
根据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,请参见regasm.exe有两个版本,一个是32位版本,另一个是64位版本。在64位操作系统上,选择正确的。或者两者都有。我在C:\Windows\Microsoft.NET\Framework64\v4.0.30319这个位置使用regasm.exe。另一个是C:\Windows\Microsoft.NET\Framework目录,32位版本的.NET的主目录。它工作很多:-)regasm.exe有两个版本,一个32位版本和一个64位版本。在64位操作系统上,选择正确的。或者两者都有。我正在使用C:\Windows\Microsoft.NET\Framework64\v4.0.30319中的regasm.exe此位置另一个,C:\Windows\Microsoft.NET\Framework目录,32位版本的.NET的主目录。它工作很多:-)