XamlParseException после развертывания проекта WPF - PullRequest
23 голосов
/ 06 января 2011

Я пытался развернуть свое приложение WPF, я создал проект установки с помощью мастера установки. Единственный выходной проект, который я добавил, был основным. После сборки и установки программы, как только я нажимаю exe на моем рабочем столе, я получаю всплывающее окно с надписью «Моя программа перестала работать», поэтому я нажимаю Отладить программу и вижу

Произошло необработанное исключение типа 'System.Windows.Markup.XamlParseException' в PresentationFramework.dll

Дополнительная информация: «Установлено соединение, возникла исключительная ситуация». Номер строки «10» и позиция «9».

Это исключение не указывает мне, что нужно исправить. в моем приложении нет идентификатора соединения.

Ранее я столкнулся с XAMLParseException из-за моего NotifyIcon для моего системного трея, но это было исправлено путем добавления значка к пути моего exe-файла. Я подумал, что это может быть проблемой, поэтому я добавил значок в мой проект установки вместе со всеми остальными результатами проекта. Все еще не работает.

Я знаю, что это расплывчатая ошибка, но любая помощь будет полезна, мое приложение не будет работать вообще. Спасибо!

Ответы [ 10 ]

32 голосов
/ 06 января 2011

Обычно это происходит из-за того, что не все зависимости скопированы в вывод.Как вы говорите, сообщение об ошибке не очень полезно, но я бы проверил, есть ли в вашем приложении все необходимые зависимости для разрешения анализируемых типов.

Обычно достаточно установить для параметра Local Local значение true для сборок, на которые имеются ссылки,но я сталкивался с некоторыми случаями, когда ссылки сами по себе являются ссылочными сборками, поэтому может потребоваться также явное добавление этих ссылок.

Обновление:

Важнодобавление @ BENN1TH.

Если вы хотите узнать, какая сборка необходима:

Получал тот же тип проблемы после публикации и установкимой проект (отлично работал в отладке VS2013 Desktop, без ошибок и т. д.), но использовал совет от http://geekswithblogs.net/lbugnion/archive/2007/03/14/108728.aspx и блин!установленный проект работал ..

try

{
  InitializeComponent();
}
catch ( Exception ex )
{
  // Log error (including InnerExceptions!)
  // Handle exception
}
9 голосов
/ 30 марта 2012

Очистка и восстановление решения могут помочь!

3 голосов
/ 09 июля 2012

У меня была эта проблема с решением WPF в VS2010.Решение содержало простую dll и тестовый проект (настроенный на запуск) для тестирования dll.Моя dll была установлена ​​на x86, а мой тестовый проект был на x64.Когда я изменил тестовый проект на x86, проблема была решена.

2 голосов
/ 19 апреля 2015

После того, как я опубликовал и установил свой проект, у меня возникли проблемы такого же типа (все отлично работало в отладке VS2013 Desktop, ошибок нет и т. Д.), Но воспользовался советом из http://geekswithblogs.net/lbugnion/archive/2007/03/14/108728.aspx и вот!установленный проект работал ..

try

{
  InitializeComponent();
}
catch ( Exception ex )
{
  // Log error (including InnerExceptions!)
  // Handle exception
}
2 голосов
/ 09 апреля 2013

Если вы получили это исключение в отладчике, проверьте член InnerException исключения.Это может дать вам подсказку о том, какая сборка отсутствует.

1 голос
/ 28 мая 2013

У меня были хорошие 4 часа, чтобы понять это.Мой закончил тем, что не имел ничего общего с xaml!Оказалось, что это была незначительная ошибка в коде при инициализации MainWindow.

Если ничего не помогло, проверьте там

0 голосов
/ 27 августа 2018

Я решил эту проблему, удалив Подписать сборку , здесь:

enter image description here

0 голосов
/ 25 января 2017

Я столкнулся с этим при работе с несколькими dll, работающими внутри приложения, и на этих dll загружены разные версии одной и той же зависимости.

Обычно мы объединяем библиотеки во время нашей сборки релиза, чтобы предотвратить эту проблему, но мы видим это, если мы тестируем более одного набора необработанных библиотек в течение цикла разработки.

Решение состоит в том, чтобы тестировать только один набор несобранных dll, используя объединенные версии выпуска для других dll, которые не тестируются, или чтобы гарантировать, что зависимая dll является одной и той же версией для обоих наборов.

0 голосов
/ 15 апреля 2015

У меня есть эта проблема. Эта проблема возникает из-за Microsoft.Expression.Drawing.dll, пожалуйста, скачайте dll и добавьте ссылку.

0 голосов
/ 23 марта 2015

Очистка и перестройка проекта не были эффективными для меня.

Вы можете попробовать удалить каталог bin, а затем перестроить, таким образом я решил свою проблему.

...