«Была предпринята попытка загрузить программу с неверным форматом», сгенерированная при отладке, но не из модульного теста. Зачем? - PullRequest
0 голосов
/ 01 ноября 2018

Привет! Я просмотрел другие ответы и не вижу ничего, что могло бы ответить на этот вопрос. У меня есть код, который выполняется правильно при запуске модульного теста, но выдает

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

Когда один и тот же метод вызывается с одинаковыми значениями в режиме отладки строка, которая выдает ошибку:

dbConnection = new SQLiteConnection(@"Data Source = " + pathtoDB + "; version=3;");

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

Edit - спасибо за ссылки, но на самом деле это не отвечает на вопрос, я принимаю, что вполне возможно, что dll для SQLite может быть не x64, но это не объясняет, почему это работает правильно из модульного теста, но не из отладки сеанс с точно такими же параметрами. Это то, что я ищу ответ. Я также обновил заголовок

Edit - Sqlite - это x64, это не то, что его вызывает, просто обновление, это не меняет вопрос.

1 Ответ

0 голосов
/ 06 ноября 2018

Со ссылкой на [Дейва М], который объяснил причину, это закрывает вопрос с шагами, чтобы исправить проблему.

Чтобы устранить проблему, был открыт [Свойства решения] (VS2017) - из [Диспетчера конфигурации] была создана дополнительная конфигурация с платформой, установленной на x86 для тестов проекта и модуля.

Решение было запущено в Debug и успешно установило соединение с базой данных.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...