ссылка на проект asp.net 3.5 со ссылкой на сборку создает ошибку подписи / строгого имени в модульном тесте - PullRequest
2 голосов
/ 31 января 2011

У меня есть ссылка на сборку MySQL.Data 5.2.3 на уровне данных, отлично. В настоящее время у меня есть небольшое консольное приложение с тем же решением, ссылающееся на ПРОСТО ЭТОТ уровень данных, который просто отлично соединяется. Затем я создал проект модульного тестирования (также в том же решении) и ссылаюсь на тот же проект слоя данных, и из этого я получаю:

Метод теста LTTests.WrapperTest.LoginTest вызвал исключение: System.IO.FileLoadException: не удалось загрузить файл или сборку 'MySql.Data, версия = 5.2.3.0, культура = нейтральная, PublicKeyToken = c5687fc88969c44d' или одна из его зависимости. Подпись строгого имени не может быть проверена. Возможно, сборка была подделана или была подписана с задержкой, но не полностью подписана с правильным закрытым ключом. (Исключение из HRESULT: 0x80131045).

Итак, я пытаюсь понять ... Я могу сделать это для консоли exe, и это работает, но не юнит-тест? Это заставляет меня нервничать, когда я строю что-то некорректное, но я не знаю, что делать дальше. Я заблудился, я заново добавлял разные вещи, ища, в чем заключается сделка, и я понятия не имею.

Исключение составляет уровень данных, а не тест (для стека), поэтому похоже, что тест вызывает метод уровня (дух), а уровень данных рвется, но не для консоли?

Спасибо.

1 Ответ

1 голос
/ 31 января 2011

Это не ответ, почему существует ошибка, но возможный способ ее обнаружения:

Вы можете использовать «Средство просмотра журнала привязки сборки» (Fuslogvw.exe), которое принадлежит dotnet sdk, чтобы узнать, что загружено и почему.

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

Подробнее см. http://msdn.microsoft.com/en-us/library/e74a18c4(v=vs.80).aspx

так что, возможно, существуют разные версии MySql.Data, и сообщение об ошибке означает, что найденный номер версии не тот, который он ожидает.

...