Como adicionar uma referência a um projeto C ++ não gerenciado chamado por um projeto C #?
Uma solução (the.sln)
Um projeto C ++ (mycppproject.vcxproj em 2010 ou mycppproject.vcproj em 2008) que compila uma DLL nativa exportando algumas funções. Na depuração, isso cria c: \ output \ Debug \ mycppproject_d.dll e, na liberação, cria c: \ output \ Release \ mycppproject.dll.
Um aplicativo de console C # (mycsharpconsole.csproj) contendo chamadas PInvoke na DLL.
Tudo compila bem.
Ao criar, gostaria de poder adicionar uma referência do projeto csharp ao projeto cpp DLL para que ele possa copiar o arquivo apropriado do diretório apropriado para o diretório \ bin \ Debug no qual o projeto csharp está incorporado.
Isso deve ser possível, pois o IDE sabe tudo o que há para saber sobre onde a DLL é criada e onde o aplicativo C # é criado.
No Visual Studio 2010:
Eu tentei "Dependencies ..." no projeto csharp e adicionei uma dependência no mycppproject, mas isso não tem efeito.
Tentei "Adicionar referência ..." no projeto csharp e adicionei uma referência ao projeto cpp, mas recebo uma mensagem de aviso 'A versão do Target Framework para o projeto "mycppproject" é maior que a versão atual do Target Framework do projeto . Você gostaria de adicionar essa referência ao seu projeto? (Sim / Não / Cancelar).
Clicar em "Sim" produz a mensagem de erro "Não foi possível adicionar uma referência ao mycppproject".