我有一个包含 VB6 类(.cls 文件)的 dll。
我有一个使用这些类的 VB 脚本。
我有一个使用 Microsoft Script Control 库运行脚本的 C#.Net 程序(参考: http: //osherove.com/blog/2004/2/17/make-your-net-application-support-scripting-a-practical -appr.html )
这是我的代码:
script = new MSScriptControl.ScriptControl();
script.Language = "VBScript";
script.AddObject("MyClass", account, true);
script.AddCode(GetScriptCode());
script.ExecuteStatement("RunThisMethod");
MyClass 是具有 [ComVisible(true)] 的 VB6 类的 C# 等价物
[ComVisible(true)]
public class MyClass
{ ... }
我想知道是否不是创建我自己的对 COM 可见的 C# 类,我的代码是否可以使用 dll 中的 VB6 类并将其传递给脚本,如果是,如何?
更新: 我已经注册了所有需要的 COM 组件,现在我可以引用 COM dll。但是,当我尝试在 COM dll 中实例化该类的对象时,我收到错误 80040154 未在运行时注册的类