Domanda

Sto usando VMware Workstation 6.5 su Windows Vista x64.Vorrei automatizzare alcune delle VM attività di gestione.So che c'è un API COM (http://www.vmware.com/support/developer/vix-api/ disponibile che ho potuto usare direttamente.

C'è un C# wrapper per questo COM API?

Grazie,

Arnie

È stato utile?

Soluzione

ArnieZ.

Qualsiasi COM DLL può essere utilizzato dal .NET.Aggiungendo come riferimento in visual studio genera una DLL chiamata

"YourDll.Interop.dll"

Questo è un .NET -> COM marshalling biblioteca, e farà ciò che è necessario.

È inoltre possibile generare questo dalla riga di comando utilizzando tlbimp.exe

Naturalmente, dovrete tenere a mente che si sta invocando componenti COM, e ricordarsi di utilizzare l' .NETTO di Marshalling API per diminuire i conteggi di riferimento quando non li si utilizza, altrimenti causare perdite di memoria.

Ho avvolto l'interoperabilità di attuazione in un'altra libreria che implementa IDisposable sui suoi oggetti, in modo che la pulizia viene gestita automaticamente, ma se si tratta di una grande libreria, questo potrebbe non essere la pena lo sforzo.

Altri suggerimenti

C'è ora una bella libreria che avvolge questo in su: http://www.codeproject.com/KB/library/VMWareTasks.aspx

VMWareTasks è un wrapper completo per VixCOM: http://vmwaretasks.codeplex.com

Come 'bout l'aggiunta di un riferimento alla presente API nel VS.Net e lasciare VS.Net creare un wrapper gestito per te? Io non sono a conoscenza di qualsiasi API "gestito" per questo. Fammi sapere se hai trovato:)

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top