Ich möchte eine .NET dll-Datei von vbscript in einer synchronen Weise ausführen - ist dies möglich? wenn ja, ist es möglich, eine GAC-Assembly ausführen?
Dank, Ofer
Ich möchte eine .NET dll-Datei von vbscript in einer synchronen Weise ausführen - ist dies möglich? wenn ja, ist es möglich, eine GAC-Assembly ausführen?
Dank, Ofer
Ich denke, Sie müssen zunächst die .NET-Assembly COM-sichtbar machen, indem Sie das Attribut ComVisible in die Datei AssemblyInfo.cs aufnehmen:
[ComVisible(true)]
Siehe diese Seite auf MSDN: Verpackung einer Baugruppe für COM
Und dann können Sie in VBScript auf diese Komponenten auf die gleiche Weise zugreifen wie auf COM-Komponenten, d.h. mit CreateObject oder Server.CreateObject wie in:
Set testObj = CreateObject("MyNamespace.MyType")
Ich denke, GAC könnte sogar obligatorisch sein, um von VBScript aus darauf zuzugreifen, aber ich habe es nicht auf diese Weise gemacht, also bin ich nicht sicher.
Warum sollten Sie das in VBScript tun? Warum nicht einfach eine .NET-Konsolenanwendung erstellen, die das tut, wofür Ihr VBScript gedacht war? Da die DLL bereits auf .NET ist, sollte das kein Problem sein, oder?
EDITAR: Eine andere Möglichkeit wäre, anstelle einer DLL eine Konsolen-EXE zu erstellen (oder eine EXE, die eine DLL verpackt), die Sie von VBScript aus wie ein normales ausführbares Programm aufrufen und die Rückgabeergebnisse untersuchen können. Abhängig von vielen Faktoren könnte dies flexibler sein als die Beibehaltung von COM-Code.
CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.