我在Windows Vista x64上使用VMware Workstation 6.5。我想自动执行一些VM管理任务。我知道有一个可以直接使用的COM API(http://www.vmware.com/support/developer/vix-api/)。
这个COM API是否有C#包装器?
谢谢,
阿尼
答案 0 :(得分:7)
现在有一个很好的库来包装它: http://www.codeproject.com/KB/library/VMWareTasks.aspx
答案 1 :(得分:5)
VMWareTasks是VixCOM的完整包装器:http://vmwaretasks.codeplex.com
答案 2 :(得分:3)
ArnieZ。
任何COM DLL都可以在.NET中使用。在visual studio中添加它作为参考将生成一个名为
的DLL“YourDll.Interop.dll”
这是一个.NET - > COM编组库,并将做你需要的。
您也可以使用tlbimp.exe
从命令行生成此内容当然,你必须记住你正在调用COM组件,并且记得在完成使用它们时使用.NET Marshaling API减少引用计数,否则会导致内存泄漏。
我已将interop实现包装在另一个在其对象上实现IDisposable的库中,以便之前自动处理清理,但如果它是一个大型库,则可能不值得付出努力。
答案 3 :(得分:1)
如何在VS.Net中添加对此API的引用并让VS.Net为您创建托管包装器?我不知道任何“托管”API。如果你找到它,请告诉我:)。