0
votes

This morning I tried running a Silverlight 5 App that we have been building from my laptop strangely the login page comes up but when I click Login the page doesn't move on to the next View.

I thought it was a call to the server but no that works fine.

I've spent all day trying different machines and I've realised that any machine that hasn't got the silverlight 5 developers runtime loaded has this problem.

I can't begin to think whats causing this problem or how to debug it.

I have tried to remote debug one of the machines that shows the error but VS always tells me that the symbols haven't been loaded.

I've found that running the app on my development machine but under 64 bit IE shows the same problem but I can't debug it becuase it tells me to load the 64bit version of the developer runtime which is already installed. (I guess that if IE 64bit was picking up the developer runtime the problem would go away)

Has anyone got any ideas what would be different about the silverlight runtime and the developers runtime that would cause my view not to change?

Anyone got any idea how I can get this to debug?

1
What is it about posting on here that helps you to solve your own problems. There was a method that found out the name of a property using the stacktrace. I've just worked out that under the runtime environment it's returning different values. Clearly in the runtime environment the stacktrace is different so the wrong method name is being returned. - barbary
That's the confessional method of debugging for you. :) See en.wiktionary.org/wiki/confessional_debugging - Luke Woodward
I like that. I didn't know it had a name. - barbary

1 Answers

0
votes

After some investigation it seems that the Silverlight 5 runtime has what I think would be a bug.

Setter methods of properties are not appearing in the stacktrace.

if we have the code

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

In the development environment if we check the stack there is a set_Name method in the stacktrace

Amethodthatchecksthestack at
set_Name at
SomeMethod at

however in the runtime environment we get

Amethodthatchecksthestack at
SomeMethod at

the set_Name method is missing.