Frage

Ich bin mit VMware Workstation 6.5 auf Windows Vista x64. Ich möchte einige der VM-Management-Aufgaben automatisieren. Ich weiß, dass es eine COM API ( http://www.vmware.com/support / Entwickler / VIX-api / ) zur Verfügung, die ich direkt nutzen könnte.

Gibt es eine C # Wrapper für diese COM API?

Danke,

Arnie

War es hilfreich?

Lösung

ArnieZ.

Jede COM-DLL kann von .NET verwendet werden. Hinzufügen es als Referenz in Visual Studio generiert eine DLL namens

"YourDll.Interop.dll"

Dies ist ein .NET -> COM-Marshalling-Bibliothek und das tun, was Sie brauchen,

.

Sie können auch diese erzeugen aus der Befehlszeile tlbimp.exe

Natürlich müssen Sie im Auge behalten, die Sie COM-Komponenten aufruft, und erinnere mich an die .NET-Marshalling-API verwenden Referenzzähler zu verringern, wenn Sie fertig sind mit ihnen, sonst werden Sie Speicherlecks führen.

ich die Interop-Implementierung in einer anderen Bibliothek eingewickelt haben, die IDisposable auf ihre Objekte implementiert, so dass Bereinigung, bevor sie automatisch gehandhabt wird, aber wenn es eine große Bibliothek, könnte dies nicht der Mühe wert sein.

Andere Tipps

Es gibt jetzt eine schöne Bibliothek, die diese einpackt: http://www.codeproject.com/KB/library/VMWareTasks.aspx

VMWareTasks ist eine komplette Wrapper für VixCOM: http://vmwaretasks.codeplex.com

Wie wäre es einen Verweis auf diese API in Ihrem VS.Net Hinzufügen und lassen VS.Net erstellen verwalteten Wrapper für Sie? Ich bin mir nicht bekannt, dass „verwaltet“ API für diesen. Lassen Sie mich wissen, wenn Sie es:)

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