Не компилируется Release версия проекта

394
23 декабря 2016, 10:58

Не понимаю где искать ошибку Debug отрабатывает отлично.

Необработанное исключение типа "System.Windows.Markup.XamlParseException" в PresentationFramework.dll Дополнительные сведения: Задание свойства "System.Windows.Controls.Primitives.RangeBase.Value" вызвало исключение.

System.Windows.Markup.XamlParseException не обработано Message: Необработанное исключение типа "System.Windows.Markup.XamlParseException" в PresentationFramework.dll Дополнительные сведения: Задание свойства "System.Windows.Controls.Primitives.RangeBase.Value" вызвало исключение.

Не доходит до

InitializeComponent();

Не доходит до

 public partial class App : Application
    {
        App()
        { 
        }
    }

Да Убрал "Только мой код" и пошли ошибки

ополнительные сведения: Сборка "WpfXamlDiagnosticsTap" была загружена из "file:///C:/Users/7636~1/AppData/Local/Temp/VisualStudio.XamlDiagnostics.9236/WpfXamlDiagnosticsTap.dll" с помощью контекста LoadFrom. Использование этого контекста может привести к неожиданному поведению при сериализации, приведении типов и разрешении зависимостей. Почти во всех случаях рекомендуется избегать использования контекста LoadFrom. Этого можно добиться, устанавливая сборки в Global Assembly Cache или в каталог ApplicationBase и используя Assembly.Load при явной загрузке сборок.

{"Была сделана попытка загрузить программу, имеющую неверный формат. (Исключение из HRESULT: 0x8007000B)"}

Answer 1

Для того, чтобы отловить ошибку, Вам необходимо отловить исключение на этапе его появления. Для этого в VisualStudio Вам необходимо нажать комбинацию клавиш:

Ctrl + Alt + E

Затем, в появившемся окне поставить галочку на строке Common Language Runtime Exceptions, хотя, на всех чек-боксах поставьте галочку, возможно не только ее нужно поставить, насколько я помню, вот тут:

После этого Вы сможете заглянуть в Inner Exception и сможете отловить ошибку.

Была сделана попытка загрузить программу, имеющую неверный формат.

Вот тут вроде бы проясняется суть проблемы. Проблема в том, что какая-то библиотека отказывается работать под х64, так она 32-битной сборки. Думаю, что все же проблема в настройках сборки. Идем в Configuration Manager:

Заходим внутрь и что делаем, видим (это к примеру):

И делаем для Release такие же настройки сборки в проектах и решении.

А еще идем сюда:

Project Properties --> Build --> Platform Target

И смотрим, что у нас в Debug и в Release, ищем отличия и исправляем. Думаю x86 должно решить проблему.

Решение проблемы оказалось тривиальным. Как выяснилось, причиной того, что сборка не проходила было то, что были библиотеки, скомпилированные под 64 и 32-битные разрядности. Что потребовалось сделать, чтобы построение проекта заработало: очистить решение, восстановить NuGet-пакеты (так как у меня их не было), в настройках постройки решения и в Debug и в Release необходимо было поставить Any CPU. Переоткрыть VisualStudio (для автора вопроса). После чего постройка проекта заработала в обеих конфигурациях.

Answer 2

Если у вас компилируется Debug и не компилируется Release, значит скорее всего не хватает какой-то библиотеки. Сравните содержимое папок debug и release, скопируйте недостающие файлы в release.

READ ALSO
BinaryReader есть ли timeout?

BinaryReader есть ли timeout?

Есть ли способ, как можно установить время ожидания для BinaryReader?

271
Использование rendertexture в unity

Использование rendertexture в unity

Пытаюсь получать фотки через instagram Api, обработать как мне надо и отображать их в виде некоторого слайдшоу

281
C# отсчет времени по таймеру

C# отсчет времени по таймеру

ЗдравствуйтеНужно посылать запросы на Web сервис по временному регламенту

327