91 votes

Comment définir un chemin d'accès dans Visual Studio ?

Comment définir un chemin pour les fichiers DLL à rechercher dans Visual Studio pour un projet particulier uniquement ?

Maintenant, je le place dans l'environnement path variable, mais j'aimerais avoir un meilleur contrôle sur ce point.

0 votes

Voulez-vous dire que vous essayez d'exécuter quelque chose dans le débogueur et que, comme les DLL ne sont pas dans PATH, il ne les trouve pas ?

0 votes

Parlez-vous du débogueur ou de l'exécution de l'application à partir du shell de la fenêtre ?

0 votes

Par ailleurs, parlez-vous d'une DLL que vous avez écrite ou de DLL tierces que vous utilisez ?

116voto

Multicollinearity Points 501

Recherchez MSDN pour " Comment : Définir des variables d'environnement pour les projets ". (C'est Projet>Propriétés>Propriétés de la configuration>Débogage "Environnement". y "Fusionner l'environnement" propriétés pour ceux qui sont pressés).

La syntaxe est la suivante NOM=VALEUR et des macros peuvent être utilisées (par exemple, $(OutDir) ).

Par exemple, pour ajouter au préalable C:\Windows\Temp à la PATH :

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

De même, pour ajouter $(TargetDir) \DLLS à la PATH :

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

7 votes

Cela fonctionne très bien, mais savez-vous comment faire la même chose pour le C# ?

1 votes

Veillez à ne pas mettre d'espace autour du signe '='.

3 votes

Je n'ai pas trouvé cela dans visual studio 2017, quelqu'un d'autre peut me dire où je peux le trouver ?

55voto

Timo Geusch Points 16952

Vous avez plusieurs options :

  • Vous pouvez ajouter le chemin d'accès aux DLL aux paramètres des fichiers exécutables sous Outils > Options > Projets et solutions > Répertoires VC++ (mais uniquement pour la construction, pour l'exécution ou le débogage ). aquí )
  • Vous pouvez les ajouter dans votre variable d'environnement PATH globale
  • Vous pouvez démarrer Visual Studio en utilisant un fichier batch comme je l'ai décrit. aquí et manipuler le chemin dans celui-là
  • Vous pouvez copier les DLL dans le répertoire du fichier exécutable :-)

7 votes

Avec Visual Studio 2010, vous pouvez aller dans les pages de propriétés de votre projet, et c'est sous "Configuration Properties -> VC++ Directories".

3 votes

@Kevin C'est pour la construction, pas pour l'exécution ou le débogage.

0 votes

La puce 1 est dépréciée dans VS Community 2015. "Elle est désormais disponible en tant que feuille de propriété utilisateur ajoutée par défaut à tous les projets."

11voto

sean e Points 6857

Si vous n'avez besoin d'ajouter qu'un seul chemin par configuration (debug/release), vous pouvez définir le répertoire de travail de la commande debug :

Projet | Propriétés | Sélectionner la configuration | Propriétés de la configuration | Débogage | Répertoire de travail

Répétez l'opération pour chaque configuration de projet.

2voto

Mr Fooz Points 21092

Définissez la variable PATH, comme vous le faites. Si vous exécutez le programme depuis l'IDE, vous pouvez modifier les variables d'environnement en ajustant les options de débogage dans les propriétés du projet.

Si les DLL sont nommées de telle sorte que vous n'avez pas besoin de chemins différents pour les différents types de configuration, vous pouvez ajouter le chemin à la variable PATH du système ou à la variable globale de Visual Studio dans Outils | Options.

1voto

user27221 Points 270

Aucune des réponses n'a résolu exactement mon problème (le fichier de solution que j'exécutais essayait de trouver xcopy pour copier une dll après génération).

Ce qui a résolu le problème pour moi a été d'aller dans le menu "Projet -> Propriétés".

Puis dans la fenêtre qui s'ouvre en choisissant dans le volet de gauche : "Propriétés de la configuration -> Répertoires VC++

Dans le volet de droite, sous "Général", choisissez "Répertoires exécutables".

Et ensuite ajouter :

$(SystemRoot)\system32;$(SystemRoot);$(SystemRoot)\System32\Wbem;$(SystemRoot)\System32\WindowsPowerShell\v1.0\;$(ExecutablePath)

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X