Конвейер Azure DevOps выдает сообщение «##[ошибка]Файлы проекта, соответствующие указанному шаблону, не найдены». при публикации моего приложения?

Мой конвейер Azure DevOps выдает ошибку

##[ошибка]Файлы проекта, соответствующие указанному шаблону, не найдены'

при публикации моего приложения!

Вот часть azure-pipelines.yml, в частности задача «Опубликовать» для проекта.

...

- task: DotNetCoreCLI@2
  name: "Publish"
  displayName: "Publish"
  inputs:
    command: 'publish'
    publishWebProjects: false
    projects: '$(Parameters.projects)'
    arguments: '--configuration: $(BuildConfiguration) --output: 
$(Build.ArtifactStagingDirectory)'
    zipAfterPublish: false

...


Starting: Publish
=================================================================
Task         : .NET Core
Description  : Build, test, package, or publish a dotnet application, or run a custom dotnet command
Version      : 2.238.1
Author       : Microsoft Corporation
Help         : 



[dotnet-core-cli][1]
=================================================================
C:\Windows\system32\chcp.com 65001
Active code page: 65001
Info: .NET Core SDK/runtime 2.2 and 3.0 are now End of Life(EOL) 
and have been removed from all hosted agents. If you're using these SDK/runtimes on hosted agents, kindly upgrade to newer versions which are not EOL, or else use UseDotNet task to install the required version.
Info: Azure Pipelines hosted agents have been updated and now contain .Net 5.x SDK/Runtime along with the older .Net Core version which are currently lts. Unless you have locked down a SDK version for your project(s), 5.x SDK might be picked up which might have breaking behavior as compared to previous versions. You can learn more about the breaking changes here: https://docs.microsoft.com/en-us/dotnet/core/tools/ and https://docs.microsoft.com/en-us/dotnet/core/compatibility/ . To learn about more such changes and troubleshoot, refer here: https://docs.microsoft.com/en-us/azure/devops/pipelines/tasks/build/dotnet-core-cli?view=azure-devops#troubleshooting
##[error]Project file(s) matching the specified pattern were not found.
Finishing: Publish

Можете ли вы поделиться подробностями о задаче по публикации вашего приложения? Задача публикации dotnet создаст файлы, которые необходимо опубликовать. Вы получаете сообщение об ошибке в задаче публикации в dotnet?

Kevin Lu-MSFT 02.05.2024 13:46

@KevinLu-MSFT Я не совсем понимаю, что вы имеете в виду, но я обновлю пост, добавив более подробную информацию! Пожалуйста, дайте мне знать, если это поможет. Я получаю сообщение об ошибке при запуске конвейера в Azure DevOps.

Tim Kruger 02.05.2024 13:52

Вы можете поделиться журналом ошибок конвейера. Это должно быть полезно.

Kevin Lu-MSFT 02.05.2024 13:53

Пожалуйста, обратитесь к моему ответу и внесите изменения в проекты, хранящиеся в задаче публикации в dotnet. Затем вы можете проверить, может ли он работать так, как ожидалось.

Kevin Lu-MSFT 02.05.2024 14:03

Или вы можете жестко запрограммировать путь к файлу .csproj в поле проектов в соответствии с вашей фактической файловой структурой.

Kevin Lu-MSFT 02.05.2024 14:08

@KevinLu-MSFT Спасибо, я обновляю свое решение, чтобы проверить, подойдут ли мне упомянутые вами изменения в конвейере.

Tim Kruger 02.05.2024 14:11

Без проблем. Не стесняйтесь поделиться с нами результатом. Если проблема все еще существует, я проверю эту проблему дальше.

Kevin Lu-MSFT 02.05.2024 14:12

@KevinLu-MSFT Спасибо, изменение значения проекта с projects: '$(Parameters.projects)' на projects: '**/*.csproj', похоже, помогло. Большое спасибо за вашу помощь.

Tim Kruger 02.05.2024 14:19
Как установить LAMP Stack - Security 5/5 на виртуальную машину Azure Linux VM
Как установить LAMP Stack - Security 5/5 на виртуальную машину Azure Linux VM
В предыдущей статье мы завершили установку базы данных, для тех, кто не знает.
Как установить LAMP Stack 1/2 на Azure Linux VM
Как установить LAMP Stack 1/2 на Azure Linux VM
В дополнение к нашему предыдущему сообщению о намерении Azure прекратить поддержку Azure Database для MySQL в качестве единого сервера после 16...
0
8
126
1
Перейти к ответу Данный вопрос помечен как решенный

Ответы 1

Ответ принят как подходящий

Судя по определению задачи публикации в Dotnet, причиной проблемы может быть наличие проблемы в поле проектов (projects: '$(Parameters.projects)').

Вам необходимо указать правильный путь к файлу .csproj в поле проекта задачи публикации dotnet.

Если вы используете конвейер YAML, вы можете использовать следующий формат в поле проектов: **/*.csproj

Например:

- task: DotNetCoreCLI@2
  name: "Publish"
  displayName: "Publish"
  inputs:
    command: 'publish'
    publishWebProjects: false
    projects: '**/*.csproj'
    arguments: '--configuration: $(BuildConfiguration) --output:$(Build.ArtifactStagingDirectory)'
    zipAfterPublish: false

Если вы используете классический конвейер, вы можете обратиться к следующим шагам, чтобы отменить привязку параметра и установить правильное значение.

Шаг 1. Перейдите на вкладку «Конвейеры» и отсоедините параметры.

Например:

Шаг 2. Установите **/*.csproj в задаче публикации в dotnet.

Например:

Другие вопросы по теме

Похожие вопросы

Azure cli — получение и создание веб-заданий для списка веб-приложений в Azure с помощью Azure CLI
Масштабирование предпочтительного пула узлов в кластере Azure Kubernetes
В токене Entra ID OpenID, который я получаю при регистрации приложения Azure, что такое утверждение «oid» в результирующем токене доступа и откуда оно берется?
Сбой конвейера с ОШИБКОЙ: недостаточно значений для распаковки (ожидалось 2, получено 1) при попытке перенести версию платформы APIM с stv1 на stv2
В функциях Azure на Python. Установка SessionID при публикации сообщения в служебной шине Azure
Сбой конвейера Azure Devops из-за обновления модуля AZ.Accounts от MSFT
Azure HTTP Trigger — как извлечь значение параметра запроса из входной привязки — CosmosDB
Переменная Bash в выражении запроса JMESPath
Интерполяция многострочной строки в бицепсе не работает
Как создать навык TEXTSPLIT в когнитивном поиске и как ссылаться на него в индексаторе