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 Class not registered at run-time が発生します