質問

vbscriptから.NET dllファイルを同期的に実行したい-これは可能ですか?はいの場合、GACアセンブリを実行できますか?

ありがとう、 Ofer

役に立ちましたか?

解決

AssemblyInfo.csファイルにComVisible属性を含めることにより、最初に.NETアセンブリをCOM可視にする必要があると思います:

[ComVisible(true)]

MSDNのこのページを参照してください:アセンブリのパッケージ化COMの場合

そして、VBScriptでは、COMコンポーネントにアクセスするのと同じ方法で、つまりCreateObjectまたはServer.CreateObjectを次のように使用して、これらのコンポーネントにアクセスできます。

Set testObj = CreateObject("MyNamespace.MyType")

GABはVBScriptからGACにアクセスすることも必須かもしれないと思いますが、私はこの方法でやっていないので、よくわかりません。

なぜVBScriptでそれをしたいのですか? VBScriptが意図したことを実行する.NETコンソールアプリケーションを作成しないのはなぜですか。 DLLは既に.NET上にあるので、それは問題ではないはずですよね?


編集:これを行う別の方法は、VBScriptから通常の実行可能プログラムのように呼び出すことができるDLL(またはDLLをラップするEXE)の代わりにコンソールEXEを作成することです。戻り結果を調べます。多くの要因に応じて、これはCOMコードを維持するよりも柔軟性があります。

他のヒント

VBScriptはCOMオブジェクトからのみコードを実行できるため、.NETコードのCOMラッパーを作成する必要があります。その後、.netコードを呼び出すことができます。

直接ではありません。

.NETアセンブリがCOMコンポーネントとして公開されている場合は、公開される可能性があります。

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top