¿Cómo establezco una ruta en Visual Studio?


81

¿Cómo configuro una ruta para que se busquen archivos DLL en Visual Studio solo para un proyecto en particular?

Ahora lo estoy configurando en la pathvariable de entorno , pero me gustaría tener un mejor control sobre esto.


¿Quiere decir que está intentando ejecutar algo en el depurador y, como las DLL no están en PATH, no las está encontrando?
Roger Lipscombe

¿Estás hablando del depurador o ejecutando la aplicación desde el shell de Windows?
Jordan Parmer

Además, ¿estás hablando de una DLL que escribiste o de una DLL de terceros que estás consumiendo?
Jordan Parmer

Estaba preguntando abt ejecutando el exe que se crea en la carpeta de depuración o liberación
yesraaj

Respuestas:


52

Tienes unas cuantas opciones:

  • Puede agregar la ruta a las DLL a la configuración de archivos ejecutables en Herramientas> Opciones> Proyectos y soluciones> Directorios VC ++ (pero solo para compilar, para ejecutar o depurar aquí )
  • Puede agregarlos en su variable de entorno PATH global
  • Puede iniciar Visual Studio usando un archivo por lotes como describí aquí y manipular la ruta en ese
  • Puede copiar las DLL en el directorio del archivo ejecutable :-)

7
Con Visual Studio 2010, puede ir a las páginas de propiedades de su proyecto, y está en "Propiedades de configuración -> Directorios de VC ++".
Kevin Doyon

3
@Kevin Esto es para construir, no para ejecutar o depurar
user362515

La viñeta 1 está obsoleta en VS Community 2015. "Ahora está disponible como una hoja de propiedades del usuario que se agrega de forma predeterminada a todos los proyectos".
Richard Jessop

En VS 2019, establece esto en Project properties -> Common properties -> VC++ Directories -> Executable Directories, también puede agregar la hoja de propiedades del proyecto y establecerla allí y agregar la hoja de propiedades a todos los proyectos nuevos.
metablaster

Alternativamente, si no funciona entonces: Project properties -> Common properties -> Debugging -> Environmentagregue esto PATH=%PATH%; MY_DLL_DIRreemplazando el MY_DLL_DIRdirectorio con al directorio DLL, ¡tenga en cuenta el punto y coma!
metablaster

103

Busque en MSDN " Cómo: establecer variables de entorno para proyectos ". (Es Proyecto> Propiedades> Propiedades de configuración> Propiedades de depuración de "Entorno" y "Fusión de entorno" para aquellos que tienen prisa).

La sintaxis es NAME = VALUE y se pueden usar macros (por ejemplo, $ (OutDir) ).

Por ejemplo, anteponer C: \ Windows \ Temp a la RUTA:

PATH=C:\WINDOWS\Temp;%PATH%

De manera similar, para agregar $ (TargetDir) \ DLLS a la RUTA:

PATH=%PATH%;$(TargetDir)\DLLS

6
Funciona muy bien, pero ¿sabe cómo hacer lo mismo con C #?
perejil 72

Asegúrese de no poner espacios alrededor del signo '='.
Durasm

3
No encontré esto en Visual Studio 2017, ¿alguien más puede decirme dónde puedo encontrarlo?
RandomEli

9

Si solo necesita agregar una ruta por configuración (depuración / liberación), puede configurar el directorio de trabajo del comando de depuración:

Proyecto | Propiedades | Seleccione Configuración | Propiedades de configuración | Depuración | Directorio de trabajo

Repita para cada configuración de proyecto.


1

Establezca la variable PATH, como lo está haciendo. Si está ejecutando el programa desde el IDE, puede modificar las variables de entorno ajustando las opciones de depuración en las propiedades del proyecto.

Si las DLL se nombran de tal manera que no necesita diferentes rutas para los diferentes tipos de configuración, puede agregar la ruta a la variable PATH del sistema oa la global de Visual Studio en Herramientas | Opciones.


0

Ninguna de las respuestas resolvió exactamente mi problema (el archivo de solución que estaba ejecutando intentaba encontrar xcopy para copiar un dll después de la generación).

Lo que me resolvió fue ir al menú "Proyecto -> Propiedades"

Luego, en la ventana que se abre eligiendo en el panel izquierdo: "Propiedades de configuración -> Directorios VC ++

En el panel derecho debajo de "General" seleccionando "Directorios ejecutables"

Y luego agregando:

$(SystemRoot)\system32;$(SystemRoot);$(SystemRoot)\System32\Wbem;$(SystemRoot)\System32\WindowsPowerShell\v1.0\;$(ExecutablePath)
Al usar nuestro sitio, usted reconoce que ha leído y comprende nuestra Política de Cookies y Política de Privacidad.
Licensed under cc by-sa 3.0 with attribution required.