当我尝试设置Windows 8设置时,为什么会发生这种无关的错误?

时间:2013-12-12 08:52:41

标签: c# windows-runtime windows-8.1 application-settings

我有几行代码可以运行好几个月,现在突然它们不起作用,我得到一个非常奇怪的错误。这是有问题的功能:

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值。

1 个答案:

答案 0 :(得分:4)

虽然documentation lists no restrictions, and all samples use strings,第一个参数列为Object - 现在可能只需将其设置为需要giud。

有趣的是,它看起来像是reported to Microsoft as a bug in the OS。不知道决议会是什么。