WPF 应用程序中的 XamlParseException - 但仅在安装在 XP 上时才会出现
Posted
技术标签:
【中文标题】WPF 应用程序中的 XamlParseException - 但仅在安装在 XP 上时才会出现【英文标题】:XamlParseException in WPF application - but only on when installed on XP 【发布时间】:2011-08-28 02:51:51 【问题描述】:我的 WPF 应用程序在 Windows 7 上运行良好。在 XP 机器上安装会在启动时出现以下错误:
框架版本:v4.0.30319
描述:这个过程是 由于未处理而终止 例外。
异常信息: System.Windows.Markup.XamlParseException
堆栈:在 System.Windows.Markup.XamlReader.RewrapException(System.Exception, System.Xaml.IXamlLineInfo, System.Uri)
在 System.Windows.Markup.WpfXamlLoader.Load(System.Xaml.XamlReader, System.Xaml.IXamlObjectWriterFactory, 布尔值,System.Object, System.Xaml.XamlObjectWriterSettings, System.Uri)
在 System.Windows.Markup.WpfXamlLoader.LoadBaml(System.Xaml.XamlReader, 布尔值,System.Object, System.Xaml.Permissions.XamlAccessLevel, System.Uri)
在 System.Windows.Markup.XamlReader.LoadBaml(System.IO.Stream, System.Windows.Markup.ParserContext, System.Object,布尔值)
在 System.Windows.Application.LoadComponent(System.Object, System.Uri)
在 MyApplication.App.InitializeComponent()
在 MyApplication.App.Main()
我想我可能遇到了这个问题的答案中描述的问题:
XamlParseException on Windows XP
因为我在一些地方使用 PresentationFramework.Aero。有没有办法解决这个问题,还是我必须删除 Aero?这很痛苦,因为我正在使用一些 ButtonChromes
TIA
【问题讨论】:
我遇到了完全相同的问题,您找到了可以发布问题答案的解决方案吗? 【参考方案1】:修复:当您在具有自定义英语(美国)区域设置的计算机上运行 WPF 应用程序时,XAML 解析器中会引发异常。
http://support.microsoft.com/kb/968227
【讨论】:
原文链接已烂,看这里:web.archive.org/web/20120623034740/http://support.microsoft.com/…【参考方案2】: 确保任何 UI 的构造函数中都没有抛出异常 组件(例如 .cs 文件的代码隐藏)。 确保在使用 MVVM 时不会在 ViewModel 构造函数中抛出任何异常。我有一个视图模型抛出了一个与 Xaml 完全无关的异常(与 COM 组件相关 [我现在要对其进行追踪!])。如果创建基于 Xaml 的组件失败,您将收到 XamlParseException
- 这可能会产生误导。
【讨论】:
【参考方案3】:在引用 Aero 的 ResourceDictionary 时,请尝试指定完整的程序集名称,而不是短程序集名称。
<ResourceDictionary Source="/PresentationFramework.Aero, Version=4.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35,ProcessorArchitecture=MSIL;component/themes/aero.normalcolor.xaml" />
【讨论】:
【参考方案4】:我在 Windows XP SP3 上遇到了同样的问题,对我来说,通过将 PresentationFramework.Aero 引用的 "Copy Local" 属性设置为 "True" 解决了这个问题>.
【讨论】:
以上是关于WPF 应用程序中的 XamlParseException - 但仅在安装在 XP 上时才会出现的主要内容,如果未能解决你的问题,请参考以下文章