更新2:
似乎这个库根本就不了解紧凑的框架,我一直在得到其他的例外情况——我把这个问题保持原样,但我认为您不应该浪费时间来回答它。
我
opened another question
对于其他紧凑的框架友好型库的建议。
使用
Command Line Parser Library
.
我使用以下代码定义命令行参数:
[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;
}
我正在接受TargetInvocationException on
help.AddOptions(this)
. 追踪是:
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。
更新:
我应该提到这个示例在完整的框架上运行,而我的应用程序在紧凑的版本上运行。
我注意到了
MethodInfo
在CF3.5中没有
ReturnParameter
属性,而不是完整框架版本。
也作为下面答案的答案
InnerException
给予
MissingMethodException
谢谢。