Pregunta

Estoy tratando de conectarme a la máquina del reproductor VMware usando vmwaretasks (http://vmwaretasks.codeplex.com) pero arroja un error.

// declare a virtual host
using (VMWareVirtualHost virtualHost = new VMWareVirtualHost())
{
    string vmfile = @"D:\SIRETIH-Releases\SIRETIH_Virtual\pc-virtual\siretih.vmx";
    // connect to the host
    virtualHost.ConnectToVMWarePlayer(); // <<-- this line throws an error... 

    using (VMWareVirtualMachine virtualMachine = virtualHost.Open(vmfile))
    {
        virtualMachine.WaitForToolsInGuest();
        virtualMachine.LoginInGuest("siretih", "");
    }
}

Estoy usando Visual Studio 2010 (C#), VMWaretasks, VMware Player 4.0.2 Build-591240 (Windows OS), Windows 7 ...

La máquina virtual tiene herramientas de VMware ...

¿Necesito instalar más DLL o API?

No se controló System.Exception
Message=Failed to connect: serviceProviderType="Player" hostName="" hostPort=0 username="" timeout=60
Source=Vestris.VMWareLib
  StackTrace:
en Vestris.VMWareLib.VMWareVirtualHost.Connect(ServiceProviderType serviceProviderType, String hostName, Int32 hostPort, String username, String password, Int32 timeout)
   en Vestris.VMWareLib.VMWareVirtualHost.ConnectToVMWarePlayer(Int32 timeoutInSeconds)
   en Vestris.VMWareLib.VMWareVirtualHost.ConnectToVMWarePlayer()utionContext, ContextCallback callback, Object state)

El método ConnectToVMWAREplayer () tiene solo un arg ... Hay un método "ConnectToVMwareViserver" pero no estoy usando VMware Server Just Player ...

public void ConnectToVMWarePlayer(
    int timeoutInSeconds
)
¿Fue útil?

Solución

Un poco tarde lo sé, pero ¿qué tal la siguiente forma de obtener un VMWareVirtualMachine objeto que puedes usar:

VMWareVirtualMachine virtualMachine = SetupVM(virtualHost, vmfile);

Simplemente haga una doble verificación contra NULL para asegurarse de tener una instancia real que puede usar. Así es como lo hago para hacerlo, pero tal vez mi caso de uso sea diferente a el tuyo.

Otros consejos

No estoy seguro de si es exactamente lo mismo, pero la línea de código que dice es que es un error que necesita el host y las credenciales del usuario cuando se conecta a Viserver:

virtualHost.ConnectToVMWareVIServer(VMServerHost, VMServerUserName, VMServerPassword);

¿Puede proporcionar esa información al método VMwareVirtualHost.ConnectToVMPlayer?

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top