Мой конвейер 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
@KevinLu-MSFT Я не совсем понимаю, что вы имеете в виду, но я обновлю пост, добавив более подробную информацию! Пожалуйста, дайте мне знать, если это поможет. Я получаю сообщение об ошибке при запуске конвейера в Azure DevOps.
Вы можете поделиться журналом ошибок конвейера. Это должно быть полезно.
Пожалуйста, обратитесь к моему ответу и внесите изменения в проекты, хранящиеся в задаче публикации в dotnet. Затем вы можете проверить, может ли он работать так, как ожидалось.
Или вы можете жестко запрограммировать путь к файлу .csproj в поле проектов в соответствии с вашей фактической файловой структурой.
@KevinLu-MSFT Спасибо, я обновляю свое решение, чтобы проверить, подойдут ли мне упомянутые вами изменения в конвейере.
Без проблем. Не стесняйтесь поделиться с нами результатом. Если проблема все еще существует, я проверю эту проблему дальше.
@KevinLu-MSFT Спасибо, изменение значения проекта с projects: '$(Parameters.projects)'
на projects: '**/*.csproj'
, похоже, помогло. Большое спасибо за вашу помощь.
Судя по определению задачи публикации в 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.
Например:
Можете ли вы поделиться подробностями о задаче по публикации вашего приложения? Задача публикации dotnet создаст файлы, которые необходимо опубликовать. Вы получаете сообщение об ошибке в задаче публикации в dotnet?