¿Cómo agrego una referencia a un proyecto de C ++ no administrado llamado por un proyecto de C #?

Una solución (the.sln)

Un proyecto C ++ (mycppproject.vcxproj en 2010 o mycppproject.vcproj en 2008) que compila una DLL nativa que exporta algunas funciones. En la depuración, esto genera c: \ output \ Debug \ mycppproject_d.dll y en la versión esto genera c: \ output \ Release \ mycppproject.dll.

Una aplicación de consola C # (mycsharpconsole.csproj) que contiene llamadas PInvoke en la DLL.

Todas compilan bien.

Cuando compilo, me gustaría poder agregar una referencia del proyecto csharp al proyecto cpp DLL para que pueda copiar el archivo apropiado del directorio apropiado en el directorio \ bin \ Debug en el que está integrado el proyecto csharp. @

Esto debería ser posible, ya que el IDE sabe todo lo que hay que saber sobre dónde se construye la DLL y dónde se construye la aplicación C #.

En Visual Studio 2010:

Intenté "Dependencias ..." en el proyecto csharp y agregué una dependencia en mycppproject, pero eso no tiene ningún efecto.

Intenté "Agregar referencia ..." en el proyecto csharp y agregué una referencia al proyecto cpp, pero recibo un mensaje de advertencia 'La versión de Target Framework para el proyecto "mycppproject" es más alta que el proyecto actual Target Framework versión. ¿Desea agregar esta referencia a su proyecto de todos modos? (Sí / No / Cancelar).

Al hacer clic en "Sí" aparece el mensaje de error "No se pudo agregar una referencia a mycppproject".

Respuestas a la pregunta(4)

Su respuesta a la pregunta