Question

Je suis en utilisant VMware Workstation 6.5 sur Windows Vista x64. Je voudrais automatiser certaines tâches de gestion VM. Je sais qu'il ya une API COM ( http://www.vmware.com/support / développeur / VIX-api / ) disponibles que je pourrais utiliser directement.

Y at-il une enveloppe C # pour cette API COM?

Merci,

Arnie

Était-ce utile?

La solution

ArnieZ.

Toute DLL COM peut être utilisé à partir de .NET. Ajout comme référence en studio visuel génère une DLL appelée

"YourDll.Interop.dll"

Ceci est un .NET -> COM marshaling bibliothèque, et faire ce que vous avez besoin

.

Vous pouvez également générer ce à partir de la ligne de commande en utilisant tlbimp.exe

Bien sûr, vous devrez garder à l'esprit que vous invoquez des composants COM, et souvenez-vous d'utiliser l'API Marshaling .NET pour diminuer les compteurs de référence lorsque vous ne les utilisez pas, sinon vous causer des fuites de mémoire.

J'ai Enveloppez la mise en œuvre de Interop dans une autre bibliothèque qui implémente IDisposable sur ses objets de sorte que le nettoyage est géré automatiquement avant, mais si elle est une grande bibliothèque, cela pourrait ne pas être en vaut la peine.

Autres conseils

Il y a maintenant une belle bibliothèque qui enveloppe cette place: http://www.codeproject.com/KB/library/VMWareTasks.aspx

VMWareTasks est un emballage complet pour VixCOM: http://vmwaretasks.codeplex.com

Comment « combat l'ajout d'une référence à cette API dans votre VS.Net et laissez VS.Net créer un wrapper managé pour vous? Je ne suis pas au courant d'aucune API « géré » pour cela. Faites-moi savoir si vous trouvez:)

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top