Я получил следующий код:
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 в режиме отладки, а может в режиме простого запуска?