我的存储库中有以下文件夹结构:
- Module1.Api => Publishable
- **Module1.Api.csproj** and all other project files - Other project folders
- Module1.Api.sln- Frontend - Module1.UI
- **Module1.UI.csproj** and all other project files - Other project folders
- Module1.UI.sln在我们的管道中,我们有一个步骤来为后端服务生成所需的发布包。
- 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: 'Source/Backend/**/*.csproj')的通配符,它仍然为projects: 'Source/Backend/**/*.csproj'运行dotnet publish,这是错误的,因为它位于Source/Frontend文件夹中。
我错过了什么吗?
发布于 2021-09-08 13:41:45
请使用工作目录:
- 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: '**/*.csproj' ##FILTER BACKEND ONLY
workingDirectory: 'Source/Backend'发布于 2022-07-25 09:36:21
实际上很有帮助的是下面的评论:
必须将PublishWebProjects属性设置为false,以允许选择特定项目。如果设置为true,则忽略projects属性的值,并发布所有已找到的webprojects。
https://stackoverflow.com/questions/69103652
复制相似问题