我正在尝试使用VMWare SDK在c#中创建Windows服务&. net在VMWare工作站中自动启动和停止虚拟机。我已经下载了SDK并在我的项目中引用了必要的dll文件。
VimClient c = new VimClientImpl();
ServiceContent sc = c.Connect(serverURL);
UserSession us = c.Login(username, password);
IList<EntityViewBase> vmList = c.FindEntityViews(typeof(VirtualMachine), null, null, null);
我正在尝试运行一个基本的例子,但是当试图连接到服务时,我遇到了以下异常:"无法加载文件或程序集'VMware.Binding。wtrust, Version=12.2.0.3593, Culture=neutral, PublicKeyToken=null'或其依赖项之一。系统找不到指定的文件。">
当在。net Core中作为控制台应用程序运行时,我得到一个类似的异常:"无法加载文件或程序集"VMware.System.Private.ServiceModel"
我已经尝试从我的用户文件夹中的nuget包中复制运行时dll,并修改我的.csproj文件以包含这些dll,但我仍然遇到异常。
我正在使用。net Framework 4.7.2。我的目标操作系统是Windows 10。
组件补充道:
InternalVimService50.Wcf
InternalVimService70.Wcf
InventoryService55.Wcf
VimService.dll
VMware.Vim.dll
VmWare.Binding.Wcf
Stack Trace: StackTrace = " at
VMware.Vim.VimClientImpl.CreateClientChannel()rn at
VMware.Vim.VimClientImpl.Connect()rn at
VMware.Vim.VimClientImpl.Connect(String serviceUrl)rn at
VMWareServiceTest.Service1.OnElapsedTime(Object source, ElapsedEventArgs e) in C:\Users...
异常消息:"无法加载文件或程序集"VMware.Binding。wtrust, Version=12.2.0.3593, Culture=neutral, PublicKeyToken=null'或其依赖项之一。系统找不到指定的文件。">
任何帮助都将非常感激,谢谢。
(第一次在SO发布,但是所有精彩智慧的老用户)
我刚刚遇到了同样的问题,试图学习如何使用。net与vSphere交互。
通过构建vsphere-wsdotnetcssamplesVMware.Binding来解决。从VMware vSphere SDK中获取wtrust,然后将生成的dll的引用添加到我的项目中。
我刚刚加载了Samples2012。
涉及版本:
- PowerCLI 12.0.0 build 15947286(不确定是否需要,但这是我引用VMware.Vim.dll的地方)
- VMware vSphere SDK 6.7U3 (6.7.0-14379537)
- Visual Studio 2019 (16.8.2)
- 。. NET Framework 4.8 Windows 8.1
希望这对你有帮助。