Подтвердить что ты не робот

TFS 2012 и web.config преобразуются

Я пытаюсь, чтобы моя сборка TFS создала преобразование web.config, связанную с конфигурацией, выбранной мной для моей сборки. Когда я запускаю сборку, я проверяю файл web.config, никакие преобразования не применяются. Когда я публикую VS2012, преобразование работает правильно.

Я установил TFS 2012 (обновление 2) и имею отдельный сервер для сборки. У меня нет VS2012, установленного на сервере сборки, но я скопировал папки и файлы C:\Program Files (x86)\MSBuild\Microsoft\VisualStudio\v11.0\Web и WebApplications с моего компьютера-разработчика на сервер сборки.

Я создал несколько конфигураций в своем проекте и добавил некоторые транцы в связанную сеть. {configname}.config.

Я создал сборку и установил элементы для сборки - конфигурации для создания одной из конфигураций в моем проекте. Я заметил, что он имеет только Debug и Release, у него не было никаких конфигураций, которые я создал. (Боковой вопрос: правильно ли это или показать все конфигурации, которые я создал?)

Итак, я запускаю сборку и проверяю выходную папку, а web.config не применяет преобразования. Что-нибудь еще мне нужно сделать?

4b9b3361

Ответ 1

Просто бросать /p: TransformConfigFiles = true, на самом деле ничего не получится.

Вам также нужно добавить эту цель в файл проекта:

<Target Name="TransformConfigFiles" AfterTargets="AfterBuild" Condition="'$(TransformConfigFiles)'=='true'">
    <ItemGroup>
        <DeleteAfterBuild Include="$(WebProjectOutputDir)\Web.*.config" />
    </ItemGroup>
    <TransformXml Source="Web.config" Transform="$(ProjectConfigTransformFileName)" Destination="$(WebProjectOutputDir)\Web.config" />
    <Delete Files="@(DeleteAfterBuild)" />
</Target>

Это мой источник: http://blog.degree.no/2012/03/automatic-config-transformations/

Ответ 2

Вы можете ввести имя Конфигурации в списке "Элементы для сборки- > Конфигурации для сборки".

Если это не помогает, попробуйте добавить следующий аргумент MSBuild:/p: TransformConfigFiles = true (3. Дополнительно → Аргументы MSBuild)

Ответ 3

Щелкните правой кнопкой мыши файл решения, перейдите к свойствам, щелкните свойства конфигурации и нажмите "Диспетчер конфигурации" вверху. Убедитесь, что ваша конфигурация для другой среды установлена ​​правильно. если он установлен неправильно, установите его правильно и проверьте код. Теперь перейдите к шаблону сборки и проверьте конфигурацию для создания свойства на вкладке процесса, вы должны иметь возможность видеть ваши различные конфигурации. если конфигурация уже установлена ​​правильно, вы также можете добавить новое имя конфигурации, введя его в свойстве build.

Примечание. Вы также можете щелкнуть правой кнопкой мыши файл преобразования web.config и выбрать преобразование предварительного просмотра и убедиться, что конфигурация преобразования работает нормально.

вы также можете указать имя профиля публикации, если он правильно работает в разделе аргументов msbuild

/p:DebugSymbols=false;DebugType=None;DeployOnBuild=true;PublishProfile=Stage