我有几行代码可以运行好几个月,现在突然它们不起作用,我得到一个非常奇怪的错误。这是有问题的功能:
public void OnCommandsRequested(SettingsPane settingsPane, SettingsPaneCommandsRequestedEventArgs eventArgs) {
UICommandInvokedHandler handler = new UICommandInvokedHandler(OnSettingsCommand);
SettingsCommand appSettings = new SettingsCommand("appSettings", "アプリ内設定", handler);
eventArgs.Request.ApplicationCommands.Add(appSettings);
}
当然,这会在响应SettingsPane.GetForCurrentView().CommandsRequested
事件时被调用。错误发生在第二行,如下所示:
mscorlib.dll
中出现'System.FormatException'类型的第一次机会异常附加信息:Guid应包含32位数字和4个破折号(xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx)。
如果我继续使用该应用,则会出现另一个例外:
mscorlib.dll中出现'System.InvalidCastException'类型的第一次机会异常
附加信息:IPropertyValue中的对象是'String'类型,无法转换为'Guid'。
这里发生了什么?正如您所看到的,我没有在任何地方使用任何GUID值。
答案 0 :(得分:4)
虽然documentation lists no restrictions, and all samples use strings,第一个参数列为Object
- 现在可能只需将其设置为需要giud。
有趣的是,它看起来像是reported to Microsoft as a bug in the OS。不知道决议会是什么。