【发布时间】:2012-07-10 20:07:39
【问题描述】:
我正在尝试从 VB 脚本代码调用 C# 函数,我收到“Activex 组件无法创建对象”错误。
我做了以下事情。
- 使用 ProgID 创建了类库,以及 Comvisible True 和强命名
- 使用 RegAsm.exe /codebase dllpath 注册了 dll(Dll 注册成功,我可以在 Registry 中看到)
- 使用VB脚本代码创建对象并调用C#函数如下。
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() 这个函数只会创建一个日志文件并在其中添加一些文本。
【问题讨论】:
-
regasm.exe 有两个版本,一个 32 位版本和一个 64 位版本。在 64 位操作系统上很重要,请选择正确的操作系统。或两者兼而有之。
-
我在 C:\Windows\Microsoft.NET\Framework64\v4.0.30319 这个位置使用 regasm.exe
-
另一个,C:\Windows\Microsoft.NET\Framework 目录,32 位版本 .NET 的主目录
-
非常感谢汉斯 它可以工作:-)