XamlParseException в приложении WPF - но только при установке на XP - PullRequest
6 голосов
/ 18 мая 2011

Мое приложение 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, Boolean, System.Object, System.Xaml.XamlObjectWriterSettings, System.Uri)

в System.Windows.Markup.WpfXamlLoader.LoadBaml (System.Xaml.XamlReader, Boolean, 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 ]

6 голосов
/ 08 августа 2011

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

1 голос
/ 21 ноября 2011

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

<ResourceDictionary Source="/PresentationFramework.Aero, Version=4.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35,ProcessorArchitecture=MSIL;component/themes/aero.normalcolor.xaml" />
0 голосов
/ 13 ноября 2012

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

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

0 голосов
/ 06 декабря 2011
  • Убедитесь, что в конструкторах нет исключений для каких-либо компонентов пользовательского интерфейса (например, codebehind для файлов .cs).
  • Убедитесь, что вы используете MVVM, что вы 'я не выкидываю никаких исключений в конструктор ViewModel.

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

...