簡體   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