Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/264.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 获得;Activex组件无法创建对象“;_C#_Com_Registry - Fatal编程技术网

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

我试图从VB脚本代码中调用C#函数,我遇到“Activex组件无法创建对象”错误

我已经做了以下工作

  • 创建了具有ProgID、Comvisible True和strong命名的类库
  • 使用RegAsm.exe/codebase dllpath注册dll(dll注册成功,我可以在注册表中看到)
  • 使用VB脚本代码创建对象并调用C#函数,如下所示
  • 选项显式
    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的主目录。它工作很多:-)