Вопрос

Я использую VMware Workstation 6.5 в Windows Vista x64.Я хотел бы автоматизировать некоторые задачи по управлению виртуальными машинами.Я знаю, что существует COM API (http://www.vmware.com/support/developer/vix-api/) доступно, которое я мог бы использовать напрямую.

Существует ли оболочка C # для этого COM API?

Спасибо,

Арни

Это было полезно?

Решение

Арниз.

Любая COM-библиотека DLL может быть использована из .NET.Добавление его в качестве ссылки в visual studio приведет к созданию библиотеки DLL с именем

"Твой друг.Interop.dll"

Это библиотека маршалинга .NET -> COM, и она будет делать то, что вам нужно.

Вы также можете сгенерировать это из командной строки, используя tlbimp.exe

Конечно, вам нужно будет иметь в виду, что вы вызываете COM-компоненты, и не забудьте использовать .NET Marshaling API для уменьшения количества ссылок, когда вы закончите их использовать, иначе вы вызовете утечки памяти.

Я включил реализацию взаимодействия в другую библиотеку, которая реализует IDisposable для своих объектов, чтобы очистка выполнялась автоматически раньше, но если это большая библиотека, это может не стоить затраченных усилий.

Другие советы

Теперь есть хорошая библиотека, которая завершает это:http://www.codeproject.com/KB/library/VMWareTasks.aspx

VMWareTasks - это полная оболочка для VixCOM: http://vmwaretasks.codeplex.com

Как насчет того, чтобы добавить ссылку на этот API в свой VS.Net и позволить VS.Net создать управляемую оболочку для вас?Я не знаю ни о каком "управляемом" API для этого.Дайте мне знать, если вы это найдете :)

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top