Silverlight代码在不针对开发运行时运行时的工作方式不同

时间:2012-03-02 17:21:24

标签: c# silverlight debugging runtime

今天早上我尝试运行一个Silverlight 5应用程序,我们一直在用我的笔记本电脑构建登录页面,但是当我单击“登录”时,页面不会移动到下一个视图。

我认为这是对服务器的调用,但没有正常工作。

我花了一整天时间尝试不同的机器,并且我意识到任何没有加载silverlight 5开发人员运行时的机器都有这个问题。

我无法开始思考导致此问题的原因或如何调试它。

我试图远程调试显示错误的其中一台机器,但VS总是告诉我这些符号尚未加载。

我发现在我的开发机器上运行应用程序但在64位IE下显示同样的问题,但我无法调试它,因为它告诉我加载已经安装的64位版本的开发人员运行时。 (我想如果IE 64bit开始运行时,问题就会消失)

有没有人有任何关于Silverlight运行时和开发人员运行时会有什么不同的想法会导致我的观点不改变?

任何人都知道如何调试它?

1 个答案:

答案 0 :(得分:0)

经过一些调查后,似乎Silverlight 5运行时具有我认为的错误。

属性的Setter方法没有出现在堆栈跟踪中。

如果我们有代码

public void SomeMethod()
    {
        Name = "fred";
    }
    private string name=null;
    public string Name
    {
        get
        {
            name;
        }
        set
        {
            Amethodthatchecksthestack();
            name = value;
        }
    }

在开发环境中,如果我们检查堆栈,则堆栈跟踪中有一个set_Name方法

Amethodthatchecksthestack at
set_Name at
SomeMethod at

但是在运行时环境中我们得到了

Amethodthatchecksthestack at
SomeMethod at

缺少set_Name方法。