Frage

Ich mag eine .NET-DLL-Datei von vbscript in einer synchronen Art und Weise auszuführen - ist das möglich? wenn ja, ist es möglich, eine GAC Montage auszuführen?

Danke, Ofer

War es hilfreich?

Lösung

Ich glaube, Sie müssen zuerst die .NET-Assembly COM-sichtbar machen, indem das ComVisible Attribut in der Datei AssemblyInfo.cs einschließlich:

[ComVisible(true)]

Sehen Sie diese Seite auf MSDN: Verpacken einer Versammlung für COM

Und dann in VBScript Sie diese Komponenten mit dem gleichen zugreifen können, bedeutet zugreifen Sie COM-Komponenten, das heißt unter Verwendung von Create oder Server.CreateObject wie in:

Set testObj = CreateObject("MyNamespace.MyType")

Ich denke, GAC könnte sogar verpflichtend sei es von VBScript zugreifen, aber ich havn't es auf diese Weise um getan, so bin ich nicht sicher.

Warum würden Sie wollen, dass in VBScript zu tun? Warum nicht einfach eine -Konsolenanwendung machen, das tun würde, was Ihre VBScript wurde vorhatte? Da die DLL bereits auf .NET ist, dass das kein Problem sein sollte, nicht wahr?


EDIT: Eine andere Möglichkeit, dies zu tun sein könnte, eine Konsole EXE statt einer DLL (oder eine EXE-Datei, die eine DLL einpackt) zu erstellen, die Sie von VBScript wie ein normales ausführbares Programm aufrufen und prüfen Rückkehr Ergebnisse. Abhängig von vielen Faktoren ab, dies könnte flexibler sein als COM-Code zu erhalten.

Andere Tipps

VBScript kann nur Code von COM-Objekten ausführen, so dass Sie ein COM-Wrapper für Ihre .NET-Code erstellen müssten und dann sollten Sie in der Lage sein, Ihre .net-Code aufzurufen.

Nicht direkt.

Wenn die .NET-Assembly als COM-Komponente ausgesetzt war, dann könnte es sein.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top