Как я могу подключиться к VMware с помощью VIX (оболочка c #) - PullRequest
2 голосов
/ 21 февраля 2012

Я пытаюсь подключиться к компьютеру с VMWare Player, используя VMWareTasks (http://vmwaretasks.codeplex.com), но выдает ошибку ..

// 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", "");
    }
}

Я использую Visual Studio 2010 (C #), VMWareTasks, VmWare Player 4.0.2 build-591240 (ОС Windows), Windows 7 ...

Виртуальная машина имеет инструменты VMware ...

Нужно ли больше устанавливать DLL или 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)

Метод ConnectToVMWarePlayer () имеет только один аргумент ... есть метод "ConnectToVMWareVIServer", но я не использую сервер vmware, просто проигрыватель ...

public void ConnectToVMWarePlayer(
    int timeoutInSeconds
)

Ответы [ 2 ]

1 голос
/ 02 августа 2012

Немного поздно, я знаю, но как насчет следующего способа получения объекта VMWareVirtualMachine, который вы можете использовать:

VMWareVirtualMachine virtualMachine = SetupVM(virtualHost, vmfile);

Просто сделайте двойную проверку на нуль, чтобы убедиться, что у вас есть фактическийэкземпляр вы можете использовать.Вот как я это делаю, но, возможно, мой вариант использования отличается от вашего.

0 голосов
/ 21 февраля 2012

Я не уверен, если это точно так же, но строка кода, которую вы говорите, выдает ошибку, требует учетных данных хоста и пользователя при подключении к VIServer:

virtualHost.ConnectToVMWareVIServer(VMServerHost, VMServerUserName, VMServerPassword);

Можете ли вы предоставить эту информацию методу VMWareVirtualHost.ConnectToVMPlayer?

...