Используйте разные события предварительной сборки для разных конфигураций сборки в Visual Studio - PullRequest
3 голосов
/ 29 марта 2012

Можно ли использовать разные события предварительной сборки для разных конфигураций сборки в Visual Studio?Например, я хотел бы получить как конфигурацию выпуска для бета-версии, так и работающую систему и иметь соответствующее приложение. [Type] .config скопировать в app.config до его компиляции.

В данный момент параметры конфигурации запекаются в файл .settings с использованием параметров из файла app.config по умолчанию.

Ответы [ 2 ]

2 голосов
/ 01 апреля 2012

Или просто поместите Условие на вашу цель ... например,

Condition="'$(Configuration)' == 'Debug'" 

.. или по вашей задаче.

Если вы используете простые события посткомпоновки Visual Studio VB / C #, вы можете вручную отредактировать файл проекта, чтобы поместить такие условия в теги свойств PreBuildEvent / PostBuildEvent; и повторите теги для выпуска.

Dan (msbuild dev)

1 голос
/ 29 марта 2012

Вы можете сделать это несколькими способами, в зависимости от вашей конкретной ситуации:

Вариант 1. Проверьте переменную $ (ConfigurationName) в вашем сценарии предварительной сборки, например:

IF EXISTS $(ProjectDir)app.$(ConfigurationName).config 
    COPY $(ProjectDir)app.$(ConfigurationName).config $(ProjectDir)app.config

Вариант 2: Добавить цель MSBuild «BeforeCompile» в файл проекта:

<Target Name="BeforeBuild">
    <!-- MSBuild Script here -->
</Target>

Вариант 3: Использовать преобразования файла конфигурации; этот подключаемый модуль VSIX добавляет функции преобразования web.config в не-веб-проекты.Это XSLT-файлы, которые позволяют переписывать ваши конфигурационные файлы при сборке (в отличие от веб-проектов, где это происходит при публикации).

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...