繁体   English   中英

如何使用VIX(C#包装器)连接到vmware

[英]How can I connect to vmware using VIX (c# wrapper)

我正在尝试使用VMWareTasks(http://vmwaretasks.codeplex.com)连接到VMWare Player计算机,但抛出错误。

// 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 OS),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
)

我知道有点晚了,但是如何通过以下方式获取可以使用的VMWareVirtualMachine对象:

VMWareVirtualMachine virtualMachine = SetupVM(virtualHost, vmfile);

只需对null进行仔细检查,以确保您具有可以使用的实际实例。 我就是这样做的,但是也许我的用例不同于您的用例。

我不确定是否完全相同,但是您所说的引发错误的代码行在连接VIServer时需要主机和用户凭据:

virtualHost.ConnectToVMWareVIServer(VMServerHost, VMServerUserName, VMServerPassword);

您可以将该信息提供给VMWareVirtualHost.ConnectToVMPlayer方法吗?

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM