Solución:
Use una acción posterior a la compilación en su proyecto y agregue los comandos para copiar la DLL ofensiva. La acción posterior a la compilación se escribe como un script por lotes.
Se puede hacer referencia al directorio de salida como $(OutDir)
. El directorio del proyecto está disponible como $(ProjDir)
. Intente usar parches relativos cuando corresponda, de modo que pueda copiar o mover la carpeta de su proyecto sin interrumpir la acción posterior a la compilación.
$ (OutDir) resultó ser una ruta relativa en VS2013, así que tuve que combinarlo con $ (ProjectDir) para lograr el efecto deseado:
xcopy /y /d "$(ProjectDir)External*.dll" "$(ProjectDir)$(OutDir)"
Por cierto, puede depurar fácilmente los scripts agregando ‘echo’ al principio y observar el texto expandido en la ventana de salida de la compilación.
Los detalles en la sección de comentarios anterior no funcionaron para mí (VS 2013) al intentar copiar la dll de salida de un proyecto C ++ a la carpeta de lanzamiento y depuración de otro proyecto C # dentro de la misma solución.
Tuve que agregar la siguiente acción de compilación posterior (haga clic derecho en el proyecto que tiene una salida .dll) luego propiedades -> propiedades de configuración -> eventos de compilación -> evento posterior a la compilación -> línea de comandos
ahora agregué estas dos líneas para copiar el dll de salida en las dos carpetas:
xcopy /y $(TargetPath) $(SolutionDir)aeiscontrollerbinRelease
xcopy /y $(TargetPath) $(SolutionDir)aeiscontrollerbinDebug