.NET сборки DLL отсутствуют зависимости - PullRequest
1 голос
/ 05 марта 2012

Я делаю оболочку C ++ / CLI для класса C ++, но DLL, созданная при создании моего проекта C ++ / CLI, не загружается в C #, Assembly.Load вызывает исключение fileNotFound с сообщением «Не удалось загрузить файл или сборка 'CLIExport.dll' или одна из ее зависимостей. Система не может найти указанный файл. "

Проект C ++ / CLI включает только класс-оболочку, класс C ++ и один заголовочный файл, от которого зависит класс C ++, для которого исходные и заголовочные файлы были добавлены в решение, ссылки не добавлены. Нужно ли добавлять ссылки на класс C ++ в проекте C ++ / CLI? Я не знаю, что приложение C # думает, что сборка отсутствует, и я не знаю, на что мне нужно добавить ссылки, должен ли проект C ++ / CLI иметь ссылку на каждый тип .net, который он использует как классы в Системное пространство имен?

Спасибо.

1 Ответ

1 голос
/ 05 марта 2012

Я считаю, что проблема в том, что вы пытаетесь использовать неуправляемые x86 библиотеки в 64-битном решении.

Попробуйте выполнить: щелкните правой кнопкой мыши свое решение, затем Configuration manager и установите все свои проекты на x86, затем попробуйте выполнить сборку еще раз.

Я совершенно уверен, что ваша конфигурация сборки несовместима, поэтому сообщение об ошибке (я сталкивался с той же проблемой несколько раз ...)

Вы можете прочитать здесь: Что означает цель Visual Studio «Any CPU»?

И краткий обзор различных целей в VS: http://visualstudiohacks.com/articles/visual-studio-net-platform-target-explained/

...