NUnit unit test не может найти неуправляемую dll в тестовом классе - PullRequest
2 голосов
/ 23 августа 2010

У меня следующая ситуация:

  1. У меня есть Delphi DLL (неуправляемая), которая работает. У меня есть заявка на выигрышные формы (подтверждение концепции приложения), которая работает DLL (и все ее зависимости) копируются в каталог Bin / Debug приложения.

  2. Я создал управляемую библиотеку .NET, у которой есть класс, который является оберткой для DLL. все зависимости dll и dll копируются в папку / Bin / Debug.

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

DAEcommerce.Logic.Tests.Infrastructure.L3.L3DatabaseConnectionTest.OpenClose_ProperParameters_ActiveSetToTrueAndFalse: System.DllNotFoundException: невозможно загрузить DLL 'AttrbInterface.dll': A библиотека динамических ссылок (DLL) Не удалось выполнить процедуру инициализации. (Исключение из HRESULT: 0x8007045A)

Данная dll копируется в папку Bin / Debug проекта модульного тестирования. Я попытался также скопировать его в Windows / system32, добавив его в путь Windows и скопировав его в папку, где находится NUnit exe. Это просто не работает.

У меня есть следующие вопросы:

  1. В чем проблема?
  2. Как я могу найти, в чем проблема?
  3. Как мне это исправить.

Ответы [ 2 ]

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

У меня была похожая проблема с 7z.dll и SevenZipSharp в 64-битной системе.7z.dll был 32-битным, поэтому я должен был убедиться, что используется nunit-x86.exe.Я также должен был отключить теневое копирование в настройках NUnit, не знаю почему, но в противном случае он не загружал 7z.dll.

0 голосов
/ 23 августа 2010

Попробуйте использовать утилиту Fusion Log Viewer для получения из Windows SDK, чтобы получить больше информации о том, что на самом деле происходит, когда загружается ваша сборка .NET.

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