Определение путей проекта в решении с помощью макроса / переменной среды

Есть ли способ определить путь к файлу проекта в решении с помощью пользовательской макрокоманды / переменной среды? Я не могу этого сделать.

Вроде как переменная окружения используется для определения дополнительных каталогов включения в проекте C ++, за исключением того, что я хочу сделать то же самое для расположения файла проекта в решении.

Я пытался отредактировать решение в текстовом редакторе, чтобы изменить путь, чтобы начать с% MyMacroName% или $ (MyMacroName), но ни один из них, кажется, не анализируется как раз. Файлы проекта не могут быть найдены при открытии решения.

 Hakan Serce19 мая 2012 г., 23:39
Вы перезапустили Visual Studio после установки переменной среды?
 Sion Sheevok19 мая 2012 г., 23:44
Я закрыл решение и снова открыл его. В основном я пытался сделать это как пользовательский макрос на листе свойств, но если это должна быть переменная окружения, это нормально.

Ответы на вопрос(2)

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

Так что вы должны иметь возможность определять переменные среды по своему усмотрению, а затем изменять файлы vCxproj, чтобы использовать их.

Я не уверен, что этот совет работает для файлов sln, так как файлы sln не являются скриптами MSBuild.

Решение Вопроса

% ENV_VAR% rest_of_the_path \ test.csproj"

В файле .csproj используется синтаксис "$ (ENV_VAR) rest_of_the_path \ test.dll"

Это работает для меня, ENV_VAR - это переменная окружения, определенная для операционной системы, например ENV_VAR = "C: \ MyPath \"

 Thomas Levesque23 июн. 2015 г., 17:18
Похоже, он не работает для файлов, включенных непосредственно в папки решений
 watbywbarif30 нояб. 2017 г., 15:12
@ cowlinator какую версию MSBuild вы пробовали?
 cowlinator30 нояб. 2017 г., 21:30
MSBuild 15.4.8.50001 (устанавливается из Visual Studio Build Tools 2017 15.4.5) и другие. Вы пытались создать файл .sln, содержащий% environment_variables%, с помощью MSBuild?
 Sion Sheevok01 июн. 2012 г., 04:47
Устанавливается для использования переменной окружения над пользовательским макросом, чтобы синтаксис работал.
 cowlinator30 нояб. 2017 г., 02:12
Имейте в виду, что введение переменных в файл .sln означает, что их нельзя использовать с MSBuild. Вижу-вижу Connect.microsoft.com / VisualStudio / обратная связь / подробности / 690318 / ...

Ваш ответ на вопрос