Ответ 1
Вы можете использовать задачу "Копировать файл" и указать в ней исходную папку для достижения этой функции. См. Этот вопрос для деталей: Скопируйте один файл в целевой каталог при развертывании из служб визуальной студии
Мы только что обновили с TFS 2010
до TFS 2015
, и я воссоздаю XAML-Build-Definition в формате сборки /workflow в формате vNext.
В старой сборке было возможно вывести все файлы (библиотеки DLL) в одном каталоге без их исходной структуры каталогов.
Возможно ли это в новой структуре TFS 2015 Build?
У меня есть следующие Publish Build Artifact
-Settings:
Artifact Type: File Share
Path: \\server\tfslib\$(Build.DefinitionName)\$(Build.DefinitionName)_$(Build.BuildNumber)
Проблема заключается в том, что структура каталога исходного решения сохраняется в выходном каталоге, указанном в Path
. Как я могу получить результат без всего поддерева?
В качестве обходного пути я делаю это с шагом Powershell после Publish Build Artifact
, но было бы неплохо сделать это во время самого процесса публикации.
Вы можете использовать задачу "Копировать файл" и указать в ней исходную папку для достижения этой функции. См. Этот вопрос для деталей: Скопируйте один файл в целевой каталог при развертывании из служб визуальной студии
Это все еще возможно, вы можете передать следующий аргумент командной строки в свою задачу Visual Studio Build или MsBuild:
/p:OutputPath="$(Build.BinariesDirectory)"
Это даст указание заданию сборки перенаправить все выходные данные в каталог Binaries, как вы привыкли к старым сборкам XAML.
или вы можете использовать мою задачу помощника MsBuild с сайта Visual Studio Market Place для настройки пути вывода, затем добавьте переменную $(MsBuildAdditionalArguments)
на ваш MsBuild или Visual Studio. Создайте дополнительные аргументы:
Также попробуйте дать этот аргумент MSBuild
/p:GenerateProjectSpecificOutputFolder=true /p:OutDirWasSpecified=true
/p:OutputPath=$(Build.BinariesDirectory)