尝试,捕获不工作PresentationFramework.dll中发生未处理的类型'System.Windows.Markup.XamlParseException'的异常

时间:2014-06-22 23:12:17

标签: c# wpf

所以我正在使用一个简单的浏览器来教自己c#并且一切正常,然后我运行的东西向某人展示并且它出现了错误:

  

PresentationFramework.dll中出现未处理的“System.Windows.Markup.XamlParseException”类型异常

     

附加信息:'对类型'Browser.MainWindow'的构造函数的调用与指定的绑定约束匹配引发异常。行号'4'和行位置'56'。

在cs文件中显然引用了4,56,但是在xaml文件4中,56是:

xmlns:System="clr-namespace:System;assembly=mscorlib"

我查看了所有位置,并看到try/catch块添加到InitiateComponent(),如下所示:

try
{
    InitializeComponent();
}
catch (Exception ex)
{
    Console.WriteLine("ERROR:" + ex.InnerException.Message);
}

并且它不会以“ERROR:”开头吐出任何东西,所以我认为try / catch没有捕获任何东西,这很奇怪,因为错误会在创建MainWindow时讨论问题。

//我忘记提及可能非常有价值的信息

编辑:它开始发生在我将目标框架从4.5.1切换到4.0的时候,它可以在我的朋友vista计算机上运行。 (我完成了正确切换的步骤)

2 个答案:

答案 0 :(得分:1)

此处没有人可以帮助您在不查看代码的情况下解决实际问题。但是,只要您看到System.Windows.Markup.XamlParseException,就应该忽略它并查看其内部ExceptionXamlParseException仅用于通过XAML图层传递的实际Exception

接下来,只要您看到如下错误:

  

在类型'AppName.WindowName'上调用与指定绑定约束匹配的构造函数引发了异常

...您也可以忽略此消息,因为它相当通用且无用

所有这一切实际上意味着你的代码中某处有错误...是的,我知道......非常无益。但是,解决此问题的绝对最佳方法之一是简单地撤消您所做的最后几次编辑,构建项目并再次运行它。 10次​​中的9次,这将解决问题......在第10次,您可能需要撤消更多步骤,但实际上,这应该可以解决问题。

答案 1 :(得分:1)

我使用Awesomium作为浏览器的htlm ui引擎,当我切换目标框架时,它将我的平台配置改回到任何CPU,Awesomium维基称它需要是x86。一旦我切换到一切正常。