2012-03-07 4 views
2

У меня есть сборка с кодом C++/CLI, которую я хочу ссылаться в своем модульном тестовом проекте. MSTest говорит:Загрузка сбоя с FileNotFoundException - Fusion говорит, что все нормально

Test method Grafik.Implementation.Tests.MappingHelperTests.GetMappedFeatures_OneMappedFeature_OneFeatureReturned threw exception: 
System.IO.FileNotFoundException: Die Datei oder Assembly "Graphic.Interface.Managed.dll" oder eine Abhängigkeit davon wurde nicht gefunden. Das angegebene Modul wurde nicht gefunden. 

Я активировал протокол Fusion сборочно-Binder. И это говорит, что переплет был в порядке:

LOG: Die Bindung war erfolgreich. Assembly wird zurückgegeben von C:\xyz\Grafik.Tests\bin\x86\Debug\Graphic.Interface.Managed.dll. 
LOG: Die Assembly wird im default-Load-Kontext geladen. 

Кто-нибудь знает, что здесь не так? Платформа - x86. Спасибо заранее!

ответ

1

Скорее всего, ваша сборка связана с некоторой DLL, которая не может быть найдена в пути поиска. Если код C++/CLI содержит «дополнительные зависимости», соответствующие DLL-файлы должны быть скопированы в выходной путь вашего тестового проекта модуля, который ссылается на сборку с кодом C++/CLI.

Просмотрите свойства проекта вашего проекта C++/CLI, на который ссылается ваш тестовый проект. Перейдите в свойства «Linker/Input». Если существуют файлы LIB, перечисленные в разделе «Дополнительные зависимости», убедитесь, что соответствующие DLL-файлы присутствуют в пути вывода вашего тестового проекта.

К сожалению, протокол связующего в сборе все еще сообщает, что сборка успешно загружена, если не могут быть загружены библиотеки C++, на которые она ссылается.