Windows phone 7 InvalidProgrameException-Stacktrace
我已收到以下跟踪信息。但我无法确定是哪个函数从哪个类提出了这个问题。有人能告诉我什么是主页吗 帧图像功能偏移 0 coredll.dll xxx_RaiseException 19 1 mscoree3_7.dll 520892 2 mscoree3_7.dll 461967 3 mscoree3_7.dll 534468 4转换0 5 System.InternalTimeZoneInfo.TransitionTimeToDateTime 520 6 System.InternalTimeZoneInfo.GetDaylightTime 100 7 System.InternalTimeZoneInfo.GetIsDayLightsSavingsfromUTC 128 8 System.InternalTimeZoneInfo.GetUtcOffsetFromUtc 500 9 System.DateTime.ToLocalTime 164 10 System.DateTime.get_Now 72 11 System.DateTime.get_Today 44 12 xxxx.主页..84 13 mscoree3_7.dll 507848 14 mscoree3_7.dll 184683 15 mscoree3_7.dll 183987 16 mscoree3_7.dll 183375 17 System.Reflection.RuntimeConstructorInfo.InternalInvoke 104 18 System.Reflection.RuntimeConstructorInfo.InternalInvoke 1056 19 System.Activator.InternalCreateInstance 1112“ 这是主页面构造函数:Windows phone 7 InvalidProgrameException-Stacktrace,windows-phone-7,stack-trace,utc,Windows Phone 7,Stack Trace,Utc,我已收到以下跟踪信息。但我无法确定是哪个函数从哪个类提出了这个问题。有人能告诉我什么是主页吗 帧图像功能偏移 0 coredll.dll xxx_RaiseException 19 1 mscoree3_7.dll 520892 2 mscoree3_7.dll 461967 3 mscoree3_7.dll 534468 4转换0 5 System.InternalTimeZoneInfo.TransitionTimeToDateTime 520 6 System.InternalTimeZo
public MainPage()
{
InitializeButtons();
CreateCalendar();
DisplayHistory();
DisplayStatistics();
}
在
CreateCalendar
中,我初始化了一个变量DateTime currentDate=DateTime.Today代码>这就是造成问题的原因吗?我建议您将方法移动到页面加载事件,如下所示:
public MainPage()
{
InitializeComponent();
Loaded += MainPage_Loaded; // you may declare it in xaml as well
}
private void MainPage_Loaded(object sender, RoutedEventArgs e)
{
CreateCalendar();
DisplayHistory();
DisplayStatistics();
}
根据您在每个方法中执行的操作类型(主要是在它包含UI的情况下),建议将其包装到Dispatcher中:
private void MainPage_Loaded(object sender, RoutedEventArgs e)
{
CreateCalendar(); //assuming this method does not use UI
Dispatcher.BeginInvoke(() =>
{
//asuming these methods use UI
DisplayHistory();
DisplayStatistics();
});
}
试试看,让我们知道
干杯我建议您将方法移动到页面加载事件,如下所示:
public MainPage()
{
InitializeComponent();
Loaded += MainPage_Loaded; // you may declare it in xaml as well
}
private void MainPage_Loaded(object sender, RoutedEventArgs e)
{
CreateCalendar();
DisplayHistory();
DisplayStatistics();
}
根据您在每个方法中执行的操作类型(主要是在它包含UI的情况下),建议将其包装到Dispatcher中:
private void MainPage_Loaded(object sender, RoutedEventArgs e)
{
CreateCalendar(); //assuming this method does not use UI
Dispatcher.BeginInvoke(() =>
{
//asuming these methods use UI
DisplayHistory();
DisplayStatistics();
});
}
试试看,让我们知道
干杯在我的例子中,这个错误有时是突然出现的,有一些无关紧要的变化。在运行Silverlight单元测试框架的测试初始化阶段失败。在从单元测试项目间接引用的项目中进行了更改(即,单元测试项目引用了Windows Phone库,库引用了PCL并进行了更改)
说我添加的代码在崩溃发生时根本没有执行是多余的
在用二分法注释完新代码后,我发现注释一行代码就停止抛出异常。台词是这样的:
var items=jData[“items”]。选择(token=>token.ToObject()).ToList()
其中jData是著名的Json.NET中的JObject实例。更新到Json.NET的最新版本没有帮助
用显式丑陋for循环替换LINQ表达式后,错误消失了(scoffing Resharper说“for循环可以转换为LINQ表达式”)
所以我开始相信魔法
希望这能对其他人有所帮助。在我的例子中,这个错误有时是突然出现的,只是一些不重要的更改。它在运行Silverlight单元测试框架的测试初始化阶段失败。更改是在项目中进行的,该项目间接引用了单元测试项目(即,单元测试项目引用了Windows Phone库,库引用了PCL并进行了更改)
说我添加的代码在崩溃发生时根本没有执行是多余的
在使用二分法对新代码进行注释后,我发现注释一行代码就不再抛出异常。该行如下所示:
var items=jData[“items”]。选择(token=>token.ToObject()).ToList()
其中jData是著名的Json.NET中的JObject实例。更新到Json.NET的最新版本没有帮助
用显式丑陋for循环替换LINQ表达式后,错误消失了(scoffing Resharper说“for循环可以转换为LINQ表达式”)
所以我开始相信魔法
希望这对其他人有所帮助。您好,您能分享一些代码吗?例如,您正在运行到MainPage构造函数中的代码?尝试将此代码放在MainPage中。加载的事件方法而不是构造函数中…MainPage..ctor是构造函数?是,“ctor”代表constructor@josemiguel.torres我编辑了这篇文章来添加构造函数代码。您好,您能分享一些代码吗?例如,您正在运行到MainPage构造函数中的代码?尝试将此代码放在MainPage.Loaded事件方法中,而不是放在构造函数中…MainPage..ctor是构造函数吗?是,“ctor”代表constructor@josemiguel.torres我已经编辑了这篇文章来添加构造函数代码。谢谢。我会尝试一下并发布结果。你能解释一下为什么需要一个调度程序吗。这三个功能都涉及UI和其他数据操作。调度程序只能有UI操作,也可以同时有数据?所有的WP7个控件由UI线程绘制。另一方面,WP7中的所有调用都是异步的,因此当您执行操作时,调用线程与