我的存储库中有以下文件夹结构:
- 来源
后端
- Module1.Api => 可发布
- Module1.Api.csproj 和所有其他项目文件
- 其他项目文件夹
- Module1.Api.sln
- Module1.Api => 可发布
前端
- 模块1.UI
- Module1.UI.csproj 和所有其他项目文件
- 其他项目文件夹
- 模块1.UI.sln
- 模块1.UI
在我们的管道中,我们有一个步骤来生成后端服务所需的发布包。
- task: DotNetCoreCLI@2
displayName: DotNet Publish
inputs:
command: publish
publishWebProjects: True
arguments: '--configuration $(BuildConfiguration) --output $(Build.ArtifactStagingDirectory) --runtime win-x64 --self-contained true'
zipAfterPublish: False
projects: 'Source/Backend/**/*.csproj' ##FILTER BACKEND ONLY
然而,projects 是一个通配符,仅发布后端(projects: 'Source/Backend/**/*.csproj'
),它仍然还为 dotnetpublish
运行 < strong>Module1.UI.csproj 这是错误的,因为它位于 Source/Frontend
文件夹中。
我错过了什么吗?
最佳答案
实际上有帮助的是以下评论:
PublishWebProjects 属性必须设置为 false 才能允许选择特定项目。如果设置为 true,则项目属性的值将被忽略,并且所有找到的 Web 项目都会被发布。
关于azure - DotNetCoreCLI@2 发布不过滤项目,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/69103652/