Свободный NHibernate не может загрузить MySql.Data из GAC в режиме отладки теста - PullRequest
0 голосов
/ 15 августа 2011

Я получил следующий код:

    var cfg = new Configuration();
    cfg.Configure();
    FluentConfiguration config = Fluently.Configure(cfg)
        .Mappings(
            m => m.FluentMappings.AddFromAssemblyOf<InputMapping>());
    s_SessionSource = new SessionSource(config);

В последней строке выдается исключение, когда я отлаживаю свой модульный тест со следующей ошибкой:

Не удалось загрузить файл или сборку 'MySql.Данные »или одна из его зависимостей.Система не может найти указанный файл.

Проблема в том, что она не говорит, какую версию она пыталась использовать.Я пытался поймать все версии со следующей конфигурацией:

 <dependentAssembly>
    <assemblyIdentity name="MySql.Data"
                      publicKeyToken="c5687fc88969c44d"
                      culture="neutral" />
    <bindingRedirect oldVersion="1.0.0.0-6.3.6.0"
                     newVersion="6.3.7.0" />
 </dependentAssembly>

, но проблема сохраняется.Довольно странно, что исключение ничего не говорит о версии, как обычно, в таких случаях.

Fluent NHB - последняя версия 1.2 для версии 3.1. NHB - это разъем 3.2, это 6.3.7.0

Я использую MSTest.Когда я запускаю тест без отладки (Run Checked Test), он не выдает никаких исключений и завершается успешно (он выполняет манипуляции с тестовой базой данных MySQL, поэтому в этом случае он находит MySql.Data.dll и вставляет строку, например, без проблем).

ОБНОВЛЕНИЕ Хорошо, когда я взял MySql.Data.dll из GAC и сослался на него как файл, и установил Copy Local, он, наконец, начал работать в режиме отладки.В чем дело?Почему он не может загрузить его из GAC в режиме отладки, а может в режиме простого запуска?

1 Ответ

1 голос
/ 16 ноября 2012

Возможно, проблема с конфигурацией исполнения 32/64 бита?DLL одинакова для обеих платформ, но .exe нет.Вы можете проверить, настроен ли ваш тестовый проект на AnyCPU.

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