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ę.


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 :-)

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

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.


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.


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)
Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.