我有一个包含VB6类(.cls文件)的dll。
我有一个使用这些类的VB脚本。
我有一个使用Microsoft脚本控件库运行脚本的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是VB6类的C#等价物[ComVisible(true)]
[ComVisible(true)]
public class MyClass
{ ... }
我想知道如果不是创建我自己的COM可见的C#类,我的代码是否可以使用dll中的VB6类并将其传递给脚本,如果是,如何?< / p>
更新 我已经注册了所有需要的COM组件,现在我可以引用COM dll了。但是,当我尝试在COM dll中实例化该类的对象时,我得到错误80040154类未在运行时注册