更新2: 看来,这个库是不紧凑的框架知道的一切,我不断收到其他异常 - 我是离开了这个问题,但我认为你不应该浪费时间回答它。
我opened another question建议其他紧凑框架友好图书馆。使用Command Line Parser Library。使用命令行解析库获取TargetInvocationException
我使用下面的代码来定义命令行参数:
[Option("d", "duration", Required = true, HelpText = "text.")]
public int duration = DEFAULT_TEST_DURATION;
[Option("s", "sleeptime", HelpText = "text.")]
public int sleepTime = DEFAULT_TEST_SLEEP;
[Option("p", "pause", HelpText = "text.")]
public int iterInterval = DEFAULT_TEST_INTERVAL;
[Option(null, "nosync", HelpText = "text.")]
public bool nosync = false;
[Option(null, "nosuspend", HelpText = "text.")]
public bool nosuspend = false;
[Option(null, "reboot", HelpText = "text.")]
public bool reboot = false;
[HelpOption(HelpText = "Dispaly this help screen.")]
public string GetUsage()
{
HelpText help = new HelpText("MyExe");
help.AddPreOptionsLine("Usage: MyExe -d 500 -s 20 -p 10 --nosync");
help.AdditionalNewLineAfterOption = true;
help.AddOptions(this);
return help;
}
我对help.AddOptions(this)
越来越TargetInvocationException。跟踪是:
System.Reflection.TargetInvocationException was unhandled
Message="TargetInvocationException"
StackTrace:
at System.Reflection.RuntimeMethodInfo.InternalInvoke(Object obj, BindingFlags invokeAttr, Binder binder, Object[] parameters, CultureInfo culture, Boolean verifyAccess, StackCrawlMark& stackMark)
如果需要休息,请发表评论,我将它张贴。
我在MethodInfo的文档中找不到它抛出这个异常,所以我看不出为什么我得到它。 我使用这种方式与库的样本相同,我没有在示例应用程序中遇到异常。
我想这是因为我正在编译这个智能设备。可能与CF3.5的支持有关,但我不确定。
使用VS2008。
更新: 我应该提到的是,样品的完整的框架中运行,而我的应用程序的压缩版本上运行。
我注意到CF3.5中的MethodInfo
没有ReturnParameter
属性,而不是完整的框架版本。
同样作为答案InnerException
下面的答案给MissingMethodException
感谢。
是的,我更新了一个链接库的问题。 – Shaihi 2010-02-16 11:54:42
我得到System.MissingMethodException。 我注意到使用调试器,在CF版本'MethodInfo'没有ReturnParameter属性。我想这是问题的根源。 – Shaihi 2010-02-16 12:00:17
如果它是特定于CF的我无法帮助,对不起... – 2010-02-16 12:04:40