问题 调试一个简单的测试控制台应用程序。

泰玛

成员
已加入
2014年12月7日
留言内容
5
编程经验
3-5
我在网上找到了一个简单的测试模板,可以开始学习C#/ .NET,但是在尝试执行该程序时遇到了一些错误。

"类型为'System.UriFormatException的未处理的异常发生在System.dll中
附加信息:无效的URI:无法确定URI的格式。"

如果失败在ServiceContent sc = c.Connect("server01.dom1");在VS2013中。

C#:
[COLOR=#0B374D][FONT=Courier]using System;using System.Collections.Generic;using System.Linq;using System.Text;using System.Threading.Tasks;using VMware.Vim;namespace vmwaretest{    class Program    {        static void Main(string[] args)        {            VimClient c = new VimClient();            ServiceContent sc = c.Connect("server01.dom1");            UserSession us = c.Login("xxxxxx", "xxxxxxx");            IList<VMware.Vim.EntityViewBase> vms = c.FindEntityViews(typeof(VMware.Vim.VirtualMachine), null, null, null);            foreach (VMware.Vim.EntityViewBase tmp in vms)            {                VMware.Vim.VirtualMachine vm = (VMware.Vim.VirtualMachine)tmp;                Console.WriteLine((bool)(vm.Guest.GuestState.Equals("running") ? true : false));                Console.WriteLine(new Uri(vm.Guest.IpAddress != null ? vm.Guest.IpAddress : "0.0.0.0"));                Console.WriteLine((string)vm.Client.ServiceUrl);                Console.WriteLine(vm.Guest.HostName != null ? (string)vm.Guest.HostName : "");                Console.WriteLine("----------------");            }        }    }}
[/FONT][/COLOR]


这是完整的异常详细信息:

C#:
[COLOR=#0B374D][FONT=Courier]System.UriFormatException was unhandled  HResult=-2146233033  Message=Invalid URI: The format of the URI could not be determined.  Source=System  StackTrace:       at System.Uri.CreateThis(String uri, Boolean dontEscape, UriKind uriKind)       at System.Uri..ctor(String uriString)       at VMware.Vim.VersionUtils.GetVIServerSupportedVersions(String serviceUrl)       at VMware.Vim.VersionUtils.GetVIServerVersion(String serviceUrl)       at VMware.Vim.VimClient.Connect()       at VMware.Vim.VimClient.Connect(String serviceUrl)       at vmwaretest.Program.Main(String[] args) in c:\Users\Administrator\Documents\Visual Studio 2013\Projects\vmwaretest\vmwaretest\Program.cs:line 15       at System.AppDomain._nExecuteAssembly(RuntimeAssembly assembly, String[] args)       at System.AppDomain.ExecuteAssembly(String assemblyFile, Evidence assemblySecurity, String[] args)       at Microsoft.VisualStudio.HostingProcess.HostProc.RunUsersAssembly()       at System.Threading.ThreadHelper.ThreadStart_Context(Object state)       at System.Threading.ExecutionContext.RunInternal(ExecutionContext executionContext, ContextCallback callback, Object state, Boolean preserveSyncCtx)       at System.Threading.ExecutionContext.Run(ExecutionContext executionContext, ContextCallback callback, Object state, Boolean preserveSyncCtx)       at System.Threading.ExecutionContext.Run(ExecutionContext executionContext, ContextCallback callback, Object state)       at System.Threading.ThreadHelper.ThreadStart()  InnerException: 
[/FONT][/COLOR]


谁能帮我解决我语法上的错误?
 

金西尼

C#论坛主持人
工作人员
已加入
2011年4月23日
留言内容
3,563
地点
悉尼,澳大利亚
编程经验
10+
您的代码几乎不可读。请在内部以纯文本形式发布代码段
 tags.
 

泰玛

成员
已加入
2014年12月7日
留言内容
5
编程经验
3-5
抱歉-这是:

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using VMware.Vim;


namespace vmwaretest
{
    class Program
    {
        static void Main(string[] args)
        {
            VimClient c = new VimClient();
            ServiceContent sc = c.Connect("192.168.0.1");
            UserSession us = c.Login("xxxxxxx", "xxxxxxxxx");


            IList<VMware.Vim.EntityViewBase> vms = c.FindEntityViews(typeof(VMware.Vim.VirtualMachine), null, null, null);
            foreach (VMware.Vim.EntityViewBase tmp in vms)
            {
                VMware.Vim.VirtualMachine vm = (VMware.Vim.VirtualMachine)tmp;
                Console.WriteLine((bool)(vm.Guest.GuestState.Equals("running") ? true : false));
                Console.WriteLine(new Uri(vm.Guest.IpAddress != null ? vm.Guest.IpAddress : "0.0.0.0"));
                Console.WriteLine((string)vm.Client.ServiceUrl);
                Console.WriteLine(vm.Guest.HostName != null ? (string)vm.Guest.HostName : "");
                Console.WriteLine("----------------");
            }
        }
    }
}
 
由主持人最后编辑:
最佳 底部