Как получить доступ к папке артефактов после сборки в TFS в Интернете?

PreInfo: У меня есть .net core web api (vs2015), смешанный с обычными проектами.

Я потратил почти 2 дня на то, чтобы заставить это работать, искать и пробовать все, что я могу придумать, но я просто не могу жить, когда я получаю сборку и выпуск в TFS онлайн, чтобы играть вместе.

Строка (публикация артефактного шага) говорит: " Directory" D:\a\1\a "пуст. Ничего не будет добавлено для создания" падения "артефакта."

но шаг "run dot net" говорит

"Опубликовано в D:\a\1\s\Operator\MobileService\root\MobileService\src\AMP.Operator.MobileService\bin\release\net452\win7-x64\publish"

... поэтому он должен быть где-то, релиз может его поднять, но независимо от того, что я пытаюсь, я не могу его поднять.

Вот моя установка сборки Моя сборка

запуск в dotnet dotnet run

издательство публикация

И realce с $(System.DefaultWorkingDirectory)/MobileService-Dev обратите внимание на, что я пробовал каждую комбо из $(build.artifactstagingdirectory) в сборке для публикации без везения, но я уверен, что это должен указывать на папку публикации для сборки realse

Я так надеюсь, что кто-то может указать мне на решение. Я просто не могу понять, как тяжело это сделать.

Ответ 1

В рамках определения сборки я рекомендую добавить шаг Copy Files, который скопирует ваши артефакты сборки из ваших результатов msbuild в Staged Directory для сборки артефактов, прежде чем вы запустите шаг Publish Artifact.

  • Исходная папка: $(Build.SourcesDirectory)
  • Содержание: **\bin\$(BuildConfiguration)\**
  • Целевая папка: $(Build.ArtifactStagingDirectory)

Скопировать файлы

Я предполагаю, что переменная $(BuildConfiguration) является обычным для вашего определения и, вероятно, Debug или Release. Я не уверен, что именно делает Run dotnet step, но это определение сборки, которое я установил, опубликовал мои артефакты сборки правильно. Шаг "Опубликовать сборки артефактов", который я запускаю, имеет те же шаги, что и у вас, за исключением того, что включен только один параметр управления Enabled.

Я также запускаю обновление TFS 2015 2.

Ответ 2

Вам нужно указать выходной аргумент (--output/-o) для команды публикации dotnet. Аргументы:

Publish -c $(BuildConfiguration) -o $(Build.ArtifactStagingDirectory)

Кстати: вы сказали, что "run dot net" указывает "Опубликован D:\a\1\s....", файлы находятся в D:\a\1\s, файлы в D:\a\1\a (один s, а другой a).