Переменные среды страниц свойств Visual Studio

#visual-studio-2008 #environment-variables

#visual-studio-2008 #переменные среды

Вопрос:

Если щелкнуть правой кнопкой мыши по проекту в обозревателе решений и перейти в раздел Общие -> Отладка, появится раздел среды, в котором вы сможете задавать переменные среды, используя синтаксис NAME=VALUE . Моя проблема в том, что если я попытаюсь создать там новую переменную среды, она, похоже, на самом деле не работает или не устанавливается. У кого-нибудь есть опыт работы с этим? Я просто хочу установить переменную среды, чтобы я мог использовать ее на пользовательских этапах сборки, подобных этому:

переменная среды

 LANGUAGE_VAR=en_us
 

пользовательский шаг сборки

 copy $(InputPath) $(outDir)%LANGUAGE_VAR%$(InputFileName)
 

Что-то похожее на это.
Эта страница MSDN полезна, но я не могу заставить ее работать:
http://msdn.microsoft.com/en-us/library/ms173406.aspx#1

Ответ №1:

На самом деле то, что я обнаружил, было очень полезно для меня, это перейти в диспетчер свойств -> Выберите страницы свойств, которые наследуют все мои проекты -> Дважды щелкните, чтобы открыть редактор страниц свойств -> Выберите Пользовательские макросы -> Добавьте макрос и определите его ИМЯ и ЗНАЧЕНИЕ.

Теперь в моих пользовательских шагах сборки я могу ссылаться на этот макрос.

Итак, если мой макрос был LANGUAGE=en_us, я могу запустить сборку и собрать все нужные мне en_us. Если я вернусь в диспетчер свойств и изменю значение LANGUAGE на es_es, я смогу запустить сборку, и мои шаги сборки получат es_es вместо en_us. Надеюсь, это не слишком сбивает с толку. Напишите мне, если у вас есть эта проблема, и вы не знаете, о чем я говорю.

Комментарии:

1. Поздравляю с решением. Когда вы сможете, пожалуйста, не забудьте отметить свой ответ как «принятый», чтобы другие могли поучиться у вас успеху. Приветствия ~

2. Вау, этот диспетчер свойств, по-видимому, скрыт по умолчанию, как только вы его откроете, Add, похоже, ничего не делает… какой беспорядок… Я рад, что вы поняли это, должен быть способ, но это далеко не очевидно, можете ли вы каким-либо образом расширить свой ответ? Спасибо!