Làm cách nào để đặt đường dẫn trong Visual Studio?


81

Làm cách nào để đặt đường dẫn cho các tệp DLL được tìm kiếm trong Visual Studio cho riêng một dự án cụ thể?

Bây giờ tôi đang đặt nó trong pathbiến môi trường , nhưng tôi muốn kiểm soát điều này tốt hơn.


Có phải ý bạn là bạn đang cố gắng chạy thứ gì đó trong trình gỡ lỗi và vì các tệp DLL không có trong PATH nên nó không tìm thấy chúng?
Roger Lipscombe

Bạn đang nói về trình gỡ lỗi hoặc chạy ứng dụng từ trình bao của Window?
Jordan Parmer

Ngoài ra, bạn đang nói về một DLL bạn đã viết hay các DLL của bên thứ ba mà bạn đang sử dụng?
Jordan Parmer

Tôi đã yêu cầu abt chạy exe được tạo ra trong gỡ lỗi hoặc phát hành thư mục
yesraaj

Câu trả lời:


52

Bạn có một cặp đôi tùy chọn:

  • Bạn có thể thêm đường dẫn đến các tệp DLL vào cài đặt tệp có thể thực thi trong Công cụ> Tùy chọn> Dự án và giải pháp> Thư mục VC ++ (nhưng chỉ để xây dựng, để thực thi hoặc gỡ lỗi tại đây )
  • Bạn có thể thêm chúng vào biến môi trường PATH toàn cục của mình
  • Bạn có thể khởi động Visual Studio bằng cách sử dụng một tệp loạt như tôi đã mô tả ở đây và thao tác với đường dẫn trong tệp đó
  • Bạn có thể sao chép các tệp DLL vào thư mục của tệp thực thi :-)

7
Với Visual Studio 2010, bạn có thể truy cập các trang thuộc tính của dự án và nó nằm trong "Thuộc tính cấu hình -> Thư mục VC ++".
Kevin Doyon

3
@Kevin này là dành cho việc xây dựng, chứ không phải để chạy hoặc gỡ lỗi
user362515

Bullet 1 không được dùng nữa trong VS Community 2015. "Nó hiện có sẵn dưới dạng trang thuộc tính người dùng được thêm vào theo mặc định cho tất cả các dự án."
Richard Jessop

Trong VS 2019, bạn thiết lập điều này, Project properties -> Common properties -> VC++ Directories -> Executable Directoriesbạn cũng có thể thêm trang thuộc tính dự án và đặt nó ở đó và thêm trang thuộc tính vào tất cả các dự án mới.
metablaster

Hoặc nếu nó không hoạt động sau đó: Project properties -> Common properties -> Debugging -> Environmentthêm thư mục này PATH=%PATH%; MY_DLL_DIRthay thế MY_DLL_DIRthư mục with vào thư mục DLL, lưu ý dấu chấm phẩy!
metablaster

103

Tìm kiếm MSDN cho " Cách: Đặt Biến Môi trường cho Dự án ". (Đó là Dự án> Thuộc tính> Thuộc tính cấu hình> Gỡ lỗi thuộc tính "Môi trường""Môi trường hợp nhất" dành cho những người đang vội.)

Cú pháp là NAME = VALUE và có thể sử dụng macro (ví dụ: $ (OutDir) ).

Ví dụ, để thêm C: \ Windows \ Temp vào PATH:

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

Tương tự, để nối $ (TargetDir) \ DLLS vào PATH:

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

6
Hoạt động tuyệt vời, nhưng bạn có biết cách làm tương tự với C # không?
parsley72

Đảm bảo không đặt dấu cách xung quanh dấu '='.
durasm

3
Tôi không tìm thấy cái này trong visual studio 2017, bất cứ ai khác có thể cho tôi biết tôi có thể tìm nó ở đâu?
RandomEli

9

Nếu bạn chỉ cần thêm một đường dẫn cho mỗi cấu hình (gỡ lỗi / phát hành), bạn có thể đặt thư mục làm việc của lệnh gỡ lỗi:

Dự án | Thuộc tính | Chọn cấu hình | Thuộc tính cấu hình | Gỡ lỗi | Thư mục làm việc

Lặp lại cho từng cấu hình dự án.


1

Đặt biến PATH, giống như bạn đang làm. Nếu bạn đang chạy chương trình từ IDE, bạn có thể sửa đổi các biến môi trường bằng cách điều chỉnh các tùy chọn Gỡ lỗi trong thuộc tính dự án.

Nếu các tệp DLL được đặt tên sao cho bạn không cần các đường dẫn khác nhau cho các kiểu cấu hình khác nhau, bạn có thể thêm đường dẫn đến biến PATH hệ thống hoặc vào biến toàn cục của Visual Studio trong Tools | Các tùy chọn.


0

Không có câu trả lời nào giải quyết được chính xác vấn đề của tôi (tệp giải pháp tôi đang chạy đang cố gắng tìm xcopy để sao chép một dll sau khi tạo).

Những gì đã giải quyết nó cho tôi là vào menu "Dự án -> Thuộc tính"

Sau đó, trong cửa sổ mở ra, chọn ở khung bên trái: "Thuộc tính cấu hình -> Thư mục VC ++

Trên ngăn bên phải bên dưới "Chung" chọn "Thư mục có thể thực thi"

Và sau đó thêm:

$(SystemRoot)\system32;$(SystemRoot);$(SystemRoot)\System32\Wbem;$(SystemRoot)\System32\WindowsPowerShell\v1.0\;$(ExecutablePath)
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.