Wie lege ich einen Pfad in Visual Studio fest?

81

Wie lege ich einen Pfad für DLL-Dateien fest, die in Visual Studio nur für ein bestimmtes Projekt durchsucht werden sollen?

Jetzt setze ich es in der Umgebungsvariablen path, möchte aber eine bessere Kontrolle darüber haben.

yesraaj
quelle
Meinen Sie damit, dass Sie versuchen, etwas im Debugger auszuführen, und weil die DLLs nicht in PATH enthalten sind, werden sie nicht gefunden?
Roger Lipscombe
Sprechen Sie über den Debugger oder führen Sie die Anwendung über die Windows-Shell aus?
Jordan Parmer
Sprechen Sie auch über eine DLL, die Sie geschrieben haben, oder über DLLs von Drittanbietern, die Sie verwenden?
Jordan Parmer
Ich habe gefragt, ob die Exe ausgeführt werden soll, die im Debug- oder Release-Ordner erstellt wurde
yesraaj

Antworten:

52

Sie haben mehrere Möglichkeiten:

  • Sie können den Pfad zu den DLLs zu den Einstellungen für ausführbare Dateien unter Extras> Optionen> Projekte und Lösungen> VC ++ - Verzeichnisse hinzufügen (jedoch nur zum Erstellen, Ausführen oder Debuggen hier ).
  • Sie können sie Ihrer globalen Umgebungsvariablen PATH hinzufügen
  • Sie können Visual Studio mithilfe einer Batchdatei wie hier beschrieben starten und den Pfad in dieser Datei bearbeiten
  • Sie können die DLLs in das Verzeichnis der ausführbaren Datei kopieren :-)
Timo Geusch
quelle
7
Mit Visual Studio 2010 können Sie die Eigenschaftenseiten Ihres Projekts aufrufen und sich unter "Konfigurationseigenschaften -> VC ++ - Verzeichnisse" befinden.
Kevin Doyon
3
@ Kevin Dies ist zum Erstellen, nicht zum Ausführen oder Debuggen
user362515
Bullet 1 ist in VS Community 2015 veraltet. "Es ist jetzt als Benutzereigenschaftsblatt verfügbar, das standardmäßig allen Projekten hinzugefügt wird."
Richard Jessop
In VS 2019 legen Sie dies fest. Project properties -> Common properties -> VC++ Directories -> Executable DirectoriesSie können auch das Projekteigenschaftsblatt hinzufügen und dort festlegen und das Eigenschaftenblatt allen neuen Projekten hinzufügen.
Metablaster
Alternativ, wenn es dann nicht funktioniert: Project properties -> Common properties -> Debugging -> EnvironmentFügen Sie dies hinzu und PATH=%PATH%; MY_DLL_DIRersetzen Sie das MY_DLL_DIRVerzeichnis with zum DLL-Verzeichnis. Beachten Sie das Semikolon!
Metablaster
103

Durchsuchen Sie MSDN nach " Gewusst wie: Festlegen von Umgebungsvariablen für Projekte ". (Es ist Projekt> Eigenschaften> Konfigurationseigenschaften> Debuggen der Eigenschaften "Umgebung" und "Umgebung zusammenführen" für diejenigen, die in Eile sind.)

Die Syntax lautet NAME = VALUE und es können Makros verwendet werden (z. B. $ (OutDir) ).

So stellen Sie dem Pfad beispielsweise C: \ Windows \ Temp voran:

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

So hängen Sie $ (TargetDir) \ DLLS an den PATH an:

PATH=%PATH%;$(TargetDir)\DLLS
Multikollinearität
quelle
6
Funktioniert hervorragend, aber wissen Sie, wie Sie dasselbe für C # tun können?
Petersilie72
Stellen Sie sicher, dass keine Leerzeichen um das Zeichen '=' stehen.
Durasm
3
Ich habe das in Visual Studio 2017 nicht gefunden. Kann mir jemand sagen, wo ich es finden kann?
RandomEli
9

Wenn Sie nur einen Pfad pro Konfiguration hinzufügen müssen (Debug / Release), können Sie das Arbeitsverzeichnis des Debug-Befehls festlegen:

Projekt | Eigenschaften | Wählen Sie Konfiguration | Konfigurationseigenschaften | Debuggen | Arbeitsverzeichnis

Wiederholen Sie dies für jede Projektkonfiguration.

Sean e
quelle
1

Stellen Sie die PATH-Variable so ein, wie Sie es tun. Wenn Sie das Programm über die IDE ausführen, können Sie Umgebungsvariablen ändern, indem Sie die Debugging-Optionen in den Projekteigenschaften anpassen.

Wenn die DLLs so benannt sind, dass Sie für die verschiedenen Konfigurationstypen keine unterschiedlichen Pfade benötigen, können Sie den Pfad zur System-PATH-Variablen oder zur globalen Visual Studio-Variablen in Tools | hinzufügen Optionen.

Herr Fooz
quelle
0

Keine der Antworten löste genau mein Problem (die von mir ausgeführte Lösungsdatei versuchte, xcopy zu finden, um eine DLL nach der Generierung zu kopieren).

Was es für mich gelöst hat, war das Menü "Projekt -> Eigenschaften"

Wählen Sie dann im folgenden Fenster im linken Bereich Folgendes aus: "Konfigurationseigenschaften -> VC ++ - Verzeichnisse

Wählen Sie im rechten Bereich unter "Allgemein" die Option "Ausführbare Verzeichnisse".

Und dann hinzufügen:

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