The latest release of the VI Toolkit for .NET includes the following features and fixes:
- HostPatchManager.ScanHostPatch was passing its own Moref as a parameter. This was an artifact from an earlier incarnation of InvokeTaskMethodAsSync and has been removed.
- A check was added to InvokeTaskMethodAsSync so that it will throw an exception if the first parameter to the method is the moref of the object calling the method.
- Created InvokeTaskMethodAsSync in order to invoke Task methods synchronously
- Created LocalizedMethodFaultException to wrap the VimApi.LocalizedMethodFault class
- First-classed ResourcePool – First-classed Task
There are several ways in which working with the VI Toolkit for .NET differs from working directly with the VimApi .NET assembly VMware provides:
- Simplified Syntax – This project targets .NET 2.0 and takes advantage of .NET 3.5 syntax, including extension methods, as well as a newly developed cross-language project structure.
- Simplified Managed Objects – As of version 0.2 the following managed objects are first class: the ServiceInstance, SessionManager, SearchIndex objects, as well as all of the Vim.ManagedEntity objects. This includes ClusterComputeResource, ComputeResource, Datacenter, Folder, HostSystem, ResourcePool, and VirtualMachine.
- Simplified Logins – SessionManager.LoginBySSPI has been greatly simplified and wrapped as SessionManager.Login, making it possible to log into a VI server with passthrough credentials via a single method invocation.
- Simplified Property Retrieval – All managed objects support single method property retrieval as well as support for object-specific property cache.
- Simplified Searching – Searching the inventory is easy with the static FindEntity and FindEntities methods defined on the ManagedEntity class.
- Simplified Exception Handling – .NET VI API exception handling was exceptionally poor … no more.
- Simplified Command Line – This library has built-in support for creating command-line applications with the net.sf.vitfordotnet.util.CommandLineParser class.
- Simplified Testing – Write and test code for VI without having a VI server!
- Simplified Building – Building the project from source is as easy as downloading the source zip file, extracting the contents, and typing “build”.