Одно решение (the.sln)
Один проект С++ (mycppproject.vcxproj в 2010 году или mycppproject.vcproj в 2008 году), который компилирует собственную DLL, экспортирующую некоторые функции. В отлаживании этой сборки создается c:\output\Debug\mycppproject_d.dll, а в релизе это создает c:\output\Release\mycppproject.dll.
Одно приложение консоли С# (mycsharpconsole.csproj), содержащее вызовы PInvoke в DLL.
Все компилируются нормально.
Когда я создаю, я хотел бы добавить ссылку из проекта csharp в проект DLL cpp, чтобы он мог скопировать соответствующий файл из соответствующего каталога в каталог \bin\Debug, проект csharp построен в.
Это должно быть возможно, так как IDE знает все, что нужно знать о том, где построена DLL, и где создается приложение С#.
В Visual Studio 2010:
Я пробовал "Зависимости..." в проекте csharp и добавлял зависимость от mycppproject, но это не имеет никакого эффекта.
Я пробовал "Добавить ссылку..." в проект csharp и добавлял ссылку на проект cpp, но получаю предупреждающее сообщение "Версия Target Framework для проекта" mycppproject "выше, чем текущий проект Версия целевой платформы. Не могли бы вы добавить эту ссылку в свой проект? (Да/Нет/Отмена).
При нажатии "Да" появляется сообщение об ошибке "Ссылка на mycppproject" не может быть добавлена. "