Windows phone 7 InvalidProgrameException-Stacktrace

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

我已收到以下跟踪信息。但我无法确定是哪个函数从哪个类提出了这个问题。有人能告诉我什么是主页吗

帧图像功能偏移

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“

这是主页面构造函数:

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中的所有调用都是异步的,因此当您执行操作时,调用线程与