2016-08-16 6 views
1

Мы только что обновились до TFS2015 (на месте), и я пытаюсь настроить сборку, которая будет делать то же самое, что и мои сборки xaml, но я не могу получить одинаковые файлы. Вот изображение выходного каталога xaml, который я использую для публикации сайта. Для того, чтобы получить это я перейти в папку сборки затем перейти к папке _PublishedWebsites \ BOTWSitecoreWeb:Как получить ожидаемый результат сборки TFS 2015 (чтобы соответствовать моей конструкции XAML)?

enter image description here

Вот картина исследователя решения:

enter image description here

Так как вы можете видеть BOTWSitecoreWeb - мой проект запуска, и он составляет основу для веб-сайта. Поэтому, чтобы опубликовать этот сайт, я просто копирую папку: _PublishedWebsites \ BOTWSitecoreWeb в каталог IIS. Вот как это выглядит с помощью XAML сборки:

enter image description here

И если я углубиться в TFS2015 построить выходную папку в каплях/Source/SC/папку веб-сайта я получаю это, который имеет гораздо больше файлов и папки, чем то, что я ожидал:

enter image description here

Так что мой вопрос, как я могу получить тот же результат, что я в настоящее время получаю от моего XAML строит из TFS2015 строить?

В папке bin имеется одинаковое количество файлов, поэтому это хороший старт. Вот бен папку из XAML сборки:

enter image description here

А вот бен папку из сборки TFS 2015. Обратите внимание, что у них обоих есть 57 файлов, которые я считаю хорошими!

enter image description here

Заранее спасибо за любую проницательность вы можете предоставить!

Бен

ответ

3

Обновления определение вашей сборки ниже:

  1. Добавить /p:DeployOnBuild=true /p:OutDir="$(build.artifactstagingdirectory)\\" аргументов в Визуальном шаге Студии сборки: enter image description here
  2. Изменить «Путь к публикации» от «Publish Построить Артефакты» задачи «$ (построить. artifactstagingdirectory) _PublishedWebsites \ ProjectName ": enter image description here

Сохранить определение сборки и очереди сборки, теперь вы должны получить те же файлы опубликованный в папке сбрасывания, такой как сборка XAML.

+0

Спасибо, Эдди, это и было! –

0

vNext сборки и XAML сборки, это совершенно другая технология. Автоматических способов конвертирования не будет.

Новые сборки основаны на другой архитектуре и работают на совершенно другой системе.

Так что ваша ситуация предсказуема, очень сложно добиться 100% -ной конверсии. Скопировать папку в vNext будет копировать все по папке по умолчанию. Кажется, есть какая-то настройка во время копирования или опубликованная в вашей сборке XAML, которая вернет результат, как показано на рисунке выше.

Если вы сильно настроены XAML строит и пользовательские действия, вы может продолжать использовать те сборки, пока вы не будете готовы к порту вашего бизнеса-логике в сценарий, которые могут работать в новых сборках.

И вы также можете ознакомиться с этими сериями статей how to upgrade from XAML to Build 2015 with minimal changes.

+0

Hi Patrick. Спасибо за ответ. Таким образом, нет способа получить простой выходной каталог из новой сборной команды, в которой есть все, что мне нужно для развертывания? (т. е. папка/bin и все другие подпапки, содержащие файлы aspx, файлы конфигурации и т. д.?) Это просто кажется неправильным! Какой смысл делать сборку, если вывод сборки не готов к развертыванию !? –

+0

Ну, типичный способ использования в vNext build - опубликовать артефакты сборки с помощью файлов Copy files и Publish build artifacts. Попробуйте использовать локальный путь в агенте, где копируются какие-либо артефакты, прежде чем они будут перенаправлены в пункт назначения. Например: 'c: \ agent \ _work \ 1 \ a'. Вы можете использовать переменные 'Build.ArtifactStagingDirectory' так же, как и _Eddie_. Дополнительные переменные см. В разделе [Использовать переменные сборки] (https://www.visualstudio.com/en-us/docs/build/define/variables) –

+0

Спасибо Патрику. Я думаю, что проблема в том, что c: \ agent \ _work \ 1 \ a (где указано значение $ (Build.ArtifactStagingDirectory), пуст после сборки. Почему это? –