XamlParseException в приложении WPF - но только при установке на XP

Мое приложение WPF работает нормально в Windows 7. При установке на компьютер с XP появляется следующая ошибка при запуске:

Версия Framework: 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, Boolean, 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, Boolean)

в System.Windows.Application.LoadComponent(System.Object, System.Uri)

в MyApplication.App.InitializeComponent()

в MyApplication.App.Main()

Я думаю, что я могу испытывать проблему, описанную в ответе на этот вопрос:

XamlParseException в Windows XP

как я использую PresentationFramework.Aero местами. Есть ли способ это исправить или мне придется удалить Aero? Это боль, так как я использую некоторые ButtonChromes

ТИА

4 ответа

У меня была такая же проблема в Windows XP SP3, и для меня эта проблема была решена путем установки свойства "Копировать локальное" ссылки PresentationFramework.Aero на "True".

При ссылке на ResourceDictionary for Aero попробуйте указать полное имя сборки, а не краткое имя сборки.

<ResourceDictionary Source="/PresentationFramework.Aero, Version=4.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35,ProcessorArchitecture=MSIL;component/themes/aero.normalcolor.xaml" />
  • Убедитесь, что в конструкторах нет исключений для каких-либо компонентов пользовательского интерфейса (например, codebehind для файлов.cs).
  • Если вы используете MVVM, убедитесь, что вы не генерируете никаких исключений в конструкторе ViewModel.

У меня была модель представления, генерирующая исключение (связанное с COM-компонентом [который я сейчас собираюсь отследить!]), Которое вообще не имело ничего общего с Xaml. Вы получите XamlParseException если создание компонента на основе Xaml не удается - и это может ввести в заблуждение.

ИСПРАВЛЕНИЕ: Исключение в синтаксическом анализаторе XAML выдается при запуске приложения WPF на компьютере с настроенными региональными настройками английского языка (США).

http://support.microsoft.com/kb/968227

Другие вопросы по тегам