Пространство имен DLL C ++ / CLI не найдено в MSVS - PullRequest
1 голос
/ 11 января 2011

Общая картина: я пытаюсь написать код на C # и C ++, чтобы добиться хорошего баланса между производительностью и производительностью. Это не по причинам повторного использования кода; Я просто хочу иметь возможность писать новый код на нативном C ++, когда он мне подходит, без всяких ужасов.

У меня есть решение с 4 проектами:

  • GUI: интерфейс C # WPF
  • Logic_Cs: C # DLL, высокоуровневая эталонная реализация игровой логики
  • Logic_CLI: CLI DLL, интерфейс между управляемым и неуправляемым кодом
  • Logic_Cpp: C ++ lib с собственной реализацией

В какой-то момент все это работало просто отлично. В моем GUI-проекте я мог переключаться между реализацией C # / C ++, просто используя пространство имен из соответствующей DLL.

Тогда я, по-видимому, что-то изменил, и теперь я не могу распознать пространство имен в проекте Logic_CLI в проекте GUI, хотя пространство имен Logic_Cs по-прежнему работает просто отлично.

Да, я добавил правильные ссылки, установил зависимости, перестроил И воссоздал всю структуру своего решения с нуля; ничего не помогает.

Я заметил, что C # DLL собирается в папку в своем собственном каталоге проекта, а CLI - в каталог решения; но приложение GUI, похоже, все равно ищет DLL в их правильном каталоге, и я не получаю никаких жалоб на DLL; он просто отказывается импортировать из него пространство имен.

Раньше, когда все это работало, я не экспортировал явно что-либо из библиотеки CLI; и при этом я не делаю это для C # DLL. Это должно «просто работать», нет?

...