Как скопировать файлы проекта в папку сборки после сборки в конвейере Azure DevOps?

У нас есть конвейер сборки, настроенный с шагом «Visual Studio Build». Мне просто нужно скопировать один из файлов проекта в папку сборки перед публикацией на нашем сервере. Попытка скопировать файл проекта .runsettings для модульного тестирования. До сих пор я пытался установить для файла значение «Копировать в выходной каталог» в его свойствах, я пробовал использовать как copy, так и xcopy в командной строке события после сборки и пробовал несколько разных синтаксисов для этого в проекте xml csproj файл. Все, что вроде бы нормально работает локально, ничего не делает через лазурь. Мой мозг был полностью потрясен!

Любая помощь будет принята с благодарностью!

Изменить: вот как выглядят настройки копирования:  введите описание изображения здесь

Я пробовал это, а также ***. Runsettings в содержании, как было предложено.

Вот журнал моей последней попытки копирования

2020-05-29T20: 07: 01.3481827Z ## [раздел] Начало: скопируйте .runsettings в: E: \ Backend_work \ 116 \ a 2020-05-29T20: 07: 01.3669241Z ========== ================================================== ================== 2020-05-29T20: 07: 01.3669530Z Задача: скопировать файлы 2020-05-29T20: 07: 01.3669781Z Описание: скопировать файлы из исходной папки в целевую папку, используя шаблоны, соответствующие пути к файлам (не пути к папкам) 2020-05-29T20: 07: 01.3670032Z Версия: 2.164.1 2020-05-29T20: 07: 01.3670179Z Автор: Microsoft Corporation 2020-05-29T20: 07 : 01.3670406Z Справка: https://docs.microsoft.com/azure/devops/pipelines/tasks/utility/copy-files 2020-05-29T20: 07: 01.3670656Z ====================== ================================================== ====== 2020-05-29T20: 07: 01.9575993Z найдено 1 файл 2020-05-29T20: 07: 01.9583367Z Копирование E: \ Backend_work \ 116 \ s \ UnitTests.runs ettings в E: \ Backend_work \ 116 \ a.runsettings 2020-05-29T20: 07: 01.9674455Z ## [section] Завершение: Скопируйте .runsettings в: E: \ Backend_work \ 116 \ a


person frostymm    schedule 28.05.2020    source источник
comment
Получаете ли вы какую-либо ошибку при использовании события после сборки в конвейере? Пожалуйста, проверьте журнал сборки, чтобы узнать, есть ли там полезная информация.   -  person Cece Dong - MSFT    schedule 29.05.2020
comment
скопируйте E: \ _ work \ 77 \ s \ UnitTests \ .runsettings E: \ _ work \ 77 \ s \ UnitTests \ .. \ VerificationTool \ bin \ Release \ 1 файл (ы) скопирован. Но файлов просто нет. После публикации артефактов сборки созданная папка не содержит файла.   -  person frostymm    schedule 29.05.2020


Ответы (1)


Я протестировал следующую командную строку события после сборки, и она, как и ожидалось, скопировала файл в конвейер:

copy "$(ProjectDir)Settings1.runsettings" "$(SolutionDir)TestCaseProject\bin\$(ConfigurationName)\*"

Журнал трубопровода:

введите здесь описание изображения

Включив ввод описания изображения здесь, вы также можете попробовать добавить Copy files задачу в Pipeline для копирования файла:

введите здесь описание изображения

person Cece Dong - MSFT    schedule 29.05.2020
comment
В обоих решениях указано, что файл был скопирован в журналы, но они никогда не попадают в каталоги сборки. Я установил задачу конвейера для копирования в $ (build.artifactstagingdirectory) и попытался настроить событие пост-сборки для копирования в $ (ProjectDir) $ (OutDir). Оба они заявляют об успехе, но файл не копируется. - person frostymm; 29.05.2020
comment
Вы используете агент, размещенный на сервере Майкрософт, или агент, размещенный на собственном сервере? Вы указываете правильное местоположение? Пожалуйста, добавьте весь журнал в свой исходный пост. - person Cece Dong - MSFT; 01.06.2020
comment
Я понятия не имею. Я считаю, что у меня правильное расположение источника, а на выходе - просто $ (build.artifactstagingdirectory). На самом деле я не знаю, какую часть журнала мне разрешено публиковать. Моя работа очень сосредоточена на безопасности. Тем не менее, я обновлю исходный пост, добавив больше информации. - person frostymm; 01.06.2020
comment
В журнале указано, что файл копируется из E: \ Backend_work \ 116 \ s \ UnitTests \ .runsettings в E: \ Backend_work \ 116 \ a \ .runsettings. Зайдите в агент сборки и проверьте, есть ли файл. И поделитесь publish artifact журналом задач. - person Cece Dong - MSFT; 02.06.2020