在Windows Phone 8中,我不断收到System.WIndows.Markup.XamlParseException

Dav*_* Li 3 windows-phone-7 windows-phone windows-phone-8

我得到的错误信息是

System.Windows.ni.dll中出现'System.Windows.Markup.XamlParseException'类型的第一次机会异常

调用堆栈追溯到这段代码.

 public MainPage()
        {
            **InitializeComponent();**
            this.Init();

            // Set the data context of the listbox control to the sample data
            DataContext = App.ViewModel;
            this.Loaded += new RoutedEventHandler(MainPage_Loaded);


        }
Run Code Online (Sandbox Code Playgroud)

和InitializeComponent()行上的错误.

public void InitializeComponent() {
        if (_contentLoaded) {
            return;
        }
        _contentLoaded = true;
        System.Windows.Application.LoadComponent(this, new System.Uri("/App;component/MainPage.xaml", System.UriKind.Relative));
        this.LayoutRoot = ((System.Windows.Controls.Grid)(this.FindName("LayoutRoot")));
        this.SSIDTextBox = ((System.Windows.Controls.TextBox)(this.FindName("SSIDTextBox")));
        this.PasswordTextBox = ((System.Windows.Controls.TextBox)(this.FindName("PasswordTextBox")));
        this.Auth_ListPicker = ((Microsoft.Phone.Controls.ListPicker)(this.FindName("Auth_ListPicker")));
        this.SaveButton = ((System.Windows.Controls.Button)(this.FindName("SaveButton")));
        this.GenerateButton = ((System.Windows.Controls.Button)(this.FindName("GenerateButton")));
        this.QRImage = ((System.Windows.Controls.Image)(this.FindName("QRImage")));
        this.Profiles= ((System.Windows.Controls.ListBox)(this.FindName("Profiles")));
    }
}
Run Code Online (Sandbox Code Playgroud)

在将WP 7.1转换为WP8之前,我没有得到此异常.

任何帮助,将不胜感激.

更新:我添加了整个异常消息,是否有助于查明问题?

'TaskHost.exe'(CLR C:\ windows\system32\coreclr.dll:DefaultDomain):已加载'C:\ windows\system32\mscorlib.ni.dll'.跳过加载符号.模块已经过优化,调试器选项"Just My Code"已启用.'TaskHost.exe'(CLR C:\ windows\system32\coreclr.dll:Silverlight AppDomain):已加载'C:\ windows\system32\System.Windows.RuntimeHost.ni.dll'.跳过加载符号.模块已经过优化,调试器选项"Just My Code"已启用.'TaskHost.exe'(CLR C:\ windows\system32\coreclr.dll:Silverlight AppDomain):已加载'C:\ windows\system32\System.Windows.ni.dll'.跳过加载符号.模块已经过优化,调试器选项"Just My Code"已启用.'TaskHost.exe'(CLR C:\ windows\system32\coreclr.dll:Silverlight AppDomain):加载'C:\ windows\system32\System.Net.ni.dll'.跳过加载符号.模块已经过优化,调试器选项"Just My Code"已启用.'TaskHost.exe'(CLR C:\ windows\system32\coreclr.dll:Silverlight AppDomain):已加载'C:\ windows\system32\System.ni.dll'.跳过加载符号.模块已经过优化,调试器选项"Just My Code"已启用.'TaskHost.exe'(CLR C:\ windows\system32\coreclr.dll:Silverlight AppDomain):已加载'C:\ windows\system32\System.Xml.ni.dll'.跳过加载符号.模块已经过优化,调试器选项"Just My Code"已启用.'TaskHost.exe'(CLR C:\ windows\system32\coreclr.dll:Silverlight AppDomain):已加载'C:\ Data\Programs {64003C1B-A4FD-41FF-A132-2B6C9FE8EDC9}\Install\WifiQR.DLL'.符号已加载.'TaskHost.exe'(CLR C:\ windows\system32\coreclr.dll:Silverlight AppDomain):已加载'C:\ windows\system32\Microsoft.Phone.ni.dll'.跳过加载符号.模块已经过优化,调试器选项"Just My Code"已启用.'TaskHost.exe'(CLR C:\ windows\system32\coreclr.dll:Silverlight AppDomain):加载'C:\ windows\system32\Microsoft.Phone.Interop.ni.dll'.跳过加载符号.模块已经过优化,调试器选项"Just My Code"已启用.'TaskHost.exe'(CLR C:\ windows\system32\coreclr.dll:Silverlight AppDomain):已加载'C:\ Data\Programs {64003C1B-A4FD-41FF-A132-2B6C9FE8EDC9}\Install\Microsoft.Phone.Controls. Toolkit.DLL".无法找到或打开PDB文件.'TaskHost.exe'(CLR C:\ windows\system32\coreclr.dll:Silverlight AppDomain):已加载'C:\ Data\Programs {64003C1B-A4FD-41FF-A132-2B6C9FE8EDC9}\Install\microsoft.phone.controls. DLL".无法找到或打开PDB文件.'TaskHost.exe'(CLR C:\ windows\system32\coreclr.dll:Silverlight AppDomain):已加载'C:\ windows\system32\System.Core.ni.dll'.跳过加载符号.模块已经过优化,调试器选项"Just My Code"已启用.System.Windows.ni.dll中出现'System.Windows.Markup.XamlParseException'类型的第一次机会异常

Jas*_* PJ 11

只需在清单文件中添加权限即可.

  1. 转到WMAppmanifest.xml
  2. 选择"Capabalities"选项卡
  3. 现在检查"ID_CAP_MAP"


Dav*_* Li 8

发现了这个问题!我能够通过以下方式找到有关例外的更多信息:

  1. 调试 - >例外
  2. 按添加并键入"System.Windows.Markup.XamlParseException"并选择公共语言运行时例外
  3. 再次运行,它将精确定位导致异常的确切行号.

原来这是一个简单的拼写错误.