Я пытаюсь скопировать файл DLL из указанного места в папку для перетаскивания, которая используется для автоматизации выпуска.
У меня есть VS Online, использующий TFS.
У меня есть простая задача сборки, настроенная ниже, в которой исходный файл CRMPackage.dll, который нужно скопировать, находится в папке Debug:
Когда я запускаю задачу сборки, я получаю успешный результат, но файл DLL не отображается в папке Drop.
2018-01-25T02:33:08.7648437Z found 1 files
2018-01-25T02:33:08.7653520Z Copying d:\a\1\s\CodeBase\XXXXXXX.CRM\XXXXX.DeploymentPackage\CRMPackage\CRMPackage\bin\Debug\CRMPackage.dll to $\XXXX Dynamics CRM\CodeBase\XXXXX.CRM\Drop\CRMPackage.dll
2018-01-25T02:33:08.7772515Z ##[section]Finishing: Copy Files to: Drop
Что я здесь делаю неправильно?
Да, извините, только что вернулся с длинных выходных! Спасибо за ваш ответ, Cece, я попробовал то, что вы сделали, и использовал $(build.artifactstagingdirectory), но я не уверен, как указать эту переменную. В конце концов я изменил целевой каталог на d:\a\1\s\CodeBase****.CRM\Drop, и это сработало! — person Stanza schedule 29.01.2018
Переменная $(build.artifactstagingdirectory) предопределена. Это локальный путь агента, куда копируются любые артефакты перед отправкой в место назначения. Например: c:\agent_work\1\a. Проверьте эту ссылку для получения дополнительной информации. — person Stanza schedule 29.01.2018
Да, я принял это, большое спасибо за вашу помощь! — person Stanza schedule 23.02.2018
Вы не можете указать путь к серверу в
Target Folder
. Если это работает, это означает, что ваш источник будет изменен.Вам нужно ввести путь к папке (например, d:\a\1\s) или путь UNC (требуется частный агент сборки). В большинстве случаев вы указываете эту папку с помощью переменной (например, $(build.artifactstagingdirectory)), так как ваш размещенный агент может не иметь доступа ко всем расположениям на компьютере размещенного агента сборки.
Чтобы увидеть скопированные файлы на хосте, вы можете добавить задачу
Publish Build Artifacts
после задачиCopy files
. Посмотрите на скриншот ниже:Таким образом, вы сможете увидеть скопированные файлы в Артефактах:
Для задачи сборки я изменил целевую папку на:
d:\a\1\s\CodeBase******.CRM\Drop
и мне удалось заставить его работать. Теперь я вижу файл CRMPackage.dll в папке Drop, когда просматриваю свои артефакты.
Однако я не знаю, как использовать переменную $(build.artifactstagingdirectory). Где это установить?