Jak ustawić ścieżkę w programie Visual Studio?

83

Jak ustawić ścieżkę do plików DLL, które mają być przeszukiwane w programie Visual Studio tylko dla określonego projektu?

Teraz ustawiam to w pathzmiennej środowiskowej , ale chciałbym mieć nad tym większą kontrolę.

yesraaj
źródło
Czy masz na myśli, że próbujesz uruchomić coś w debugerze, a ponieważ bibliotek DLL nie ma w PATH, nie znajduje ich?
Roger Lipscombe
Mówisz o debugerze lub uruchamianiu aplikacji z powłoki okna?
Jordan Parmer
Czy mówisz też o utworzonej przez siebie bibliotece DLL, czy o bibliotekach DLL innych firm, których używasz?
Jordan Parmer,
Pytałem o uruchomienie exe, który jest tworzony w folderze debug lub release
yesraaj

Odpowiedzi:

52

Masz kilka opcji:

  • Możesz dodać ścieżkę do bibliotek DLL do ustawień plików wykonywalnych w obszarze Narzędzia> Opcje> Projekty i rozwiązania> Katalogi VC ++ (ale tylko do budowania, wykonywania lub debugowania tutaj )
  • Możesz je dodać do swojej globalnej zmiennej środowiskowej PATH
  • Możesz uruchomić program Visual Studio przy użyciu pliku wsadowego, jak opisałem tutaj, i manipulować ścieżką w tym pliku
  • Możesz skopiować biblioteki DLL do katalogu pliku wykonywalnego :-)
Timo Geusch
źródło
7
W programie Visual Studio 2010 możesz przejść do stron właściwości projektu, które znajdują się w sekcji „Właściwości konfiguracji -> Katalogi VC ++”.
Kevin Doyon
3
@Kevin To jest do budowania, a nie do uruchamiania lub debugowania
user362515
Punkt 1 jest przestarzały w VS Community 2015. „Jest teraz dostępny jako arkusz właściwości użytkownika, który jest domyślnie dodawany do wszystkich projektów”.
Richard Jessop,
1
W VS 2019 ustawiasz to w Project properties -> Common properties -> VC++ Directories -> Executable Directories, możesz również dodać arkusz właściwości projektu i ustawić go tam i dodać arkusz właściwości do wszystkich nowych projektów.
metablaster
Alternatywnie, jeśli to nie zadziała, Project properties -> Common properties -> Debugging -> Environmentdodaj to PATH=%PATH%; MY_DLL_DIRzastępując MY_DLL_DIRkatalog z katalogiem z do katalogu DLL, zwróć uwagę na średnik!
metablaster
104

Wyszukaj w witrynie MSDN „ Instrukcje: ustawianie zmiennych środowiskowych dla projektów ”. (Jest to Projekt> Właściwości> Właściwości konfiguracji> Debugowanie właściwości „Środowisko” i „Scal środowisko” dla tych, którym się spieszy.)

Składnia to NAZWA = WARTOŚĆ i można używać makr (na przykład $ (OutDir) ).

Na przykład, aby dołączyć C: \ Windows \ Temp do ścieżki PATH:

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

Podobnie, aby dołączyć $ (TargetDir) \ DLLS do PATH:

PATH=%PATH%;$(TargetDir)\DLLS
Współliniowość
źródło
6
Działa świetnie, ale czy wiesz, jak zrobić to samo dla C #?
pietruszka 72
Nie umieszczaj spacji wokół znaku „=”.
durasm
3
Nie znalazłem tego w Visual Studio 2017, ktoś inny może mi powiedzieć, gdzie mogę to znaleźć?
RandomEli,
9

Jeśli potrzebujesz tylko dodać jedną ścieżkę na konfigurację (debugowanie / wydanie), możesz ustawić katalog roboczy polecenia debugowania:

Projekt | Właściwości | Wybierz Konfiguracja | Właściwości konfiguracyjne | Debugowanie | Katalog roboczy

Powtórz dla każdej konfiguracji projektu.

sean e
źródło
1

Ustaw zmienną PATH, tak jak robisz. Jeśli uruchamiasz program ze środowiska IDE, możesz modyfikować zmienne środowiskowe, dostosowując opcje debugowania we właściwościach projektu.

Jeśli biblioteki DLL są tak nazwane, że nie potrzebujesz różnych ścieżek dla różnych typów konfiguracji, możesz dodać ścieżkę do zmiennej systemowej PATH lub do zmiennej globalnej programu Visual Studio w menu Narzędzia | Opcje.

Panie Fooz
źródło
0

Żadna z odpowiedzi nie rozwiązała dokładnie mojego problemu (plik rozwiązania, który uruchamiałem, próbował znaleźć xcopy, aby skopiować dll po generacji).

Rozwiązaniem dla mnie było przejście do menu „Projekt -> Właściwości”

Następnie w oknie, które zostanie otwarte, wybierz w lewym panelu: „Właściwości konfiguracji -> Katalogi VC ++

W prawym panelu w sekcji „Ogólne”, wybierając „Katalogi wykonywalne”

A potem dodaje:

$(SystemRoot)\system32;$(SystemRoot);$(SystemRoot)\System32\Wbem;$(SystemRoot)\System32\WindowsPowerShell\v1.0\;$(ExecutablePath)
user27221
źródło