Ich möchte eine .NET-DLL-Datei aus VBScript auf synchrone Weise ausführen - ist das möglich? Wenn ja, ist es möglich, eine GAC-Assembly auszuführen?Ist es möglich, eine .NET-Assembly (dll) aus VBScript auszuführen?
Dank, Ofer
Ich möchte eine .NET-DLL-Datei aus VBScript auf synchrone Weise ausführen - ist das möglich? Wenn ja, ist es möglich, eine GAC-Assembly auszuführen?Ist es möglich, eine .NET-Assembly (dll) aus VBScript auszuführen?
Dank, Ofer
Ich glaube, Sie müssen zuerst durch die Einbeziehung der ComVisible Attribut in der AssemblyInfo.cs-Datei, um die .NET-Assembly COM-sichtbar machen:
[ComVisible(true)]
Sehen Sie diese Seite auf MSDN: Packaging an Assembly for COM
Und dann in VBScript können Sie diese Komponenten zugreifen, indem Sie die gleichen Mittel greifen Sie COM-Komponenten, dh unter Verwendung von Create oder Server.CreateObject wie in:
Set testObj = CreateObject("MyNamespace.MyType")
I t Hink GAC könnte sogar obligatorisch sein, um von VBScript darauf zuzugreifen, aber ich habe es nicht so herum gemacht, also bin ich mir nicht sicher.
Warum sollten Sie das in VBScript tun? Warum sollten Sie nicht einfach eine .NET-Konsolenanwendung erstellen, die das macht, was Ihr VBScript tun sollte? Da die DLL bereits auf .NET ist, sollte das kein Problem sein, oder?
EDIT: Ein anderer Weg, 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, Ergebnisse zurückgeben. Abhängig von vielen Faktoren ist dies möglicherweise flexibler als der COM-Code.
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 eine COM-Komponente verfügbar gemacht wurde, dann könnte es sein.
Wie immer im gezwungen, dazu :-) Es gibt ein vorhandenes Projekt in VBScript geschrieben, das erweitert werden muss. Die Erweiterung kann nicht mit VBScript durchgeführt werden. – ofer
@ofer duh ... Ich kenne den Schmerz der Aufrechterhaltung von Legacy-Code in einer alten Sprache. – chakrit