Это было очень трудно отлаживать, но я наконец нашел проблему, скрытую глубоко в конструкторе для одного из наших пользовательских элементов управления (который искал ресурс, которого там не было). Настоящая проблема не в том, чтобы исправить проблема, но найти ее.
Я обнаружил, что IE реагирует на исключения, передаваемые из Silverlight в DOM, но вы не получаете такой же обратной связи в браузере Chrome (который я использую). Решение, которое на самом деле очень помогает (даже больше, чем совет IE) - изменить метод ReportErrorToDOM () в App.xaml.cs следующим образом:
private void ReportErrorToDOM(ApplicationUnhandledExceptionEventArgs e)
{
string errorMsg = String.Empty;
try
{
errorMsg = e.ExceptionObject.Message + e.ExceptionObject.StackTrace;
errorMsg = errorMsg.Replace('"', '\'').Replace("\r\n", @"\n");
System.Windows.Browser.HtmlPage.Window.Eval("throw new Error(\"Unhandled Error in Silverlight Application " + errorMsg + "\");");
}
catch (Exception)
{
#if DEBUG
MessageBox.Show(errorMsg);
#endif
}
}
Это дает вам позицию в XAML, с которой начинается проблема. Это не идеальный отладчик, но он помогает.