11

Có cách nào để xác định đường dẫn tệp dự án trong một giải pháp bằng biến macro/môi trường người dùng không? Tôi dường như không thể làm điều đó.Xác định đường dẫn dự án trong một giải pháp thông qua Macro/Biến môi trường

Loại giống như biến môi trường được sử dụng để xác định thư mục bao gồm bổ sung trong dự án C++, ngoại trừ tôi muốn làm tương tự cho vị trí của tệp dự án trong giải pháp.

Tôi đã thử chỉnh sửa giải pháp trong trình chỉnh sửa văn bản để thay đổi đường dẫn để bắt đầu bằng% MyMacroName% hoặc $ (MyMacroName) nhưng không có gì trong số chúng dường như phân tích cú pháp vừa phải. Không thể định vị tệp dự án khi giải pháp được mở.

+2

Bạn có khởi động lại Visual Studio sau khi thiết lập biến môi trường không? –

+0

Tôi đã đóng giải pháp và mở lại. Tôi chủ yếu cố gắng làm điều này như một macro người dùng trong một trang thuộc tính, nhưng nếu nó phải là một biến môi trường thì điều đó là tốt. –

Trả lời

14

Trong cú pháp sử dụng file sln "% ENV_VAR% rest_of_the_path \ test.csproj"

Trong csproj cú pháp sử dụng tập tin "$ (ENV_VAR) rest_of_the_path \ test.dll"

đó làm việc cho tôi, ENV_VAR là biến môi trường tùy chỉnh được xác định cho hệ điều hành như ENV_VAR = "C: \ MyPath \"

+0

Đã giải quyết để sử dụng biến môi trường trên macro của người dùng để cú pháp hoạt động. –

+0

Nó dường như không hoạt động đối với các tệp được bao gồm trực tiếp trong thư mục giải pháp –

+0

Lưu ý rằng việc đưa các biến vào tệp .sln có nghĩa là chúng không thể được sử dụng với MSBuild. Xem phần https://connect.microsoft.com/VisualStudio/feedback/details/690318/msbuild-doesnt-parse-environment-variables-in-sln-files – cowlinator

1

MSBuild cho phép bạn sử dụng để biến môi trường,

http://msdn.microsoft.com/en-US/library/ms171459(v=VS.80).aspx

Vì vậy mà bạn sẽ có thể để xác định các biến môi trường như bạn muốn, và sau đó sửa đổi các file vCxproj tận dụng chúng.

Tôi không chắc liệu mẹo đó có hiệu quả đối với các tệp sln hay không, vì tệp sln không phải là tập lệnh MSBuild.

Các vấn đề liên quan