Условно включить папку в развертывание

#visual-studio #msbuild #release #release-management

#visual-studio #msbuild #выпуск #управление выпуском

Вопрос:

У меня есть проект установки, который я создал в Visual Studio. Я хочу условно включить / исключить определенную папку и ее содержимое на основе конфигурации сборки. Что я имею в виду, так это:

 '$(Configuration)' == 'Release (Special)'
  

Я попытался установить свойство «Condition» для папки и даже для каждого файла, содержащегося в ней, но безрезультатно. Похоже, это свойство используется по-другому. Итак, как я могу этого добиться?

Тогда вторая часть моего вопроса заключается в том, как я могу также условно (с тем же условием) включить ярлык в User's Programs Menu папку, который указывает на файл, находящийся внутри условно включенной папки.

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

1. Не могли бы вы опубликовать соответствующие части целевого объекта, который вы запускаете, которые демонстрируют симптомы? Вполне вероятно, что у вас просто есть Condition атрибут не для того элемента.

2. Внутри VS2010 я просто выбрал папки / файлы, а затем вставил указанное выше условие в свойство «Condition». Имейте в виду, что это свойство «Condition» для папки / файла в проекте установки, которое, я думаю, отличается от свойства «Condition» для сборки, на которую ссылается проект C #.

3. Было бы полезно узнать, что Visual Studio делает с файлом вашего проекта (который должен быть просто XML) всякий раз, когда вы вносите это изменение через IDE.

4. Файл проекта установки не является XML.

5. Я не очень хорошо знаком с проектами установки (большой сюрприз, да?). Доступен ли файл проекта хотя бы для чтения человеком? Я думаю, что ваш тег MSBuild может сбивать с толку, поскольку этот инструмент определенно работает с файлами XML.