我试图在 Azure DevOps 中创建发布管道。 所有部分都工作正常,但在 IIS Web 部署中出现错误。
More than one package matched with specified pattern: %s. Please restrain the search pattern.
这是 Web 部署的任务。
我的 yml 为:
trigger:
- main
pool:
vmImage: 'windows-latest'
variables:
solution: '**/*.sln'
buildPlatform: 'Any CPU'
buildConfiguration: 'Release'
steps:
- task: NuGetToolInstaller@1
- task: NuGetCommand@2
inputs:
restoreSolution: '$(solution)'
- task: VSBuild@1
inputs:
solution: '$(solution)'
msbuildArgs: '/p:DeployOnBuild=true /p:WebPublishMethod=Package /p:PackageAsSingleFile=true /p:SkipInvalidConfigurations=true /p:PackageLocation="$(build.artifactStagingDirectory)"'
platform: '$(buildPlatform)'
configuration: '$(buildConfiguration)'
- task: DotNetCoreCLI@2
inputs:
command: 'publish'
publishWebProjects: true
zipAfterPublish: true
arguments: '--output $(build.artifactstagingdirectory)'
- task: PublishBuildArtifacts@1
inputs:
pathToPublish: $(Build.ArtifactStagingDirectory)
artifactName: AspNetCoreExample
最佳答案
More than one package matched with specified pattern: %s. Please restrain the search pattern
zip 文件来自您的构建管道。如果您只需要 .zip
,请将构建管道发布工件任务配置为仅使用此文件。
但是,您已通过任务 VSBuild
和 DotNetCoreCLI:publish
发布了项目。在这种情况下,您的工件中将多一个 .zip 文件,这将导致该问题。
- task: VSBuild@1
inputs:
solution: '$(solution)'
msbuildArgs: '/p:DeployOnBuild=true /p:WebPublishMethod=Package /p:PackageAsSingleFile=true /p:SkipInvalidConfigurations=true /p:PackageLocation="$(build.artifactStagingDirectory)"'
platform: '$(buildPlatform)'
configuration: '$(buildConfiguration)'
- task: DotNetCoreCLI@2 #Move this task.
inputs:
command: 'publish'
publishWebProjects: true
zipAfterPublish: true
arguments: '--output $(build.artifactstagingdirectory)'
要解决此问题,请移动任务 - 任务:DotNetCoreCLI@2
并确保您的 .zip
文件中只有一个包。
关于c# - 多个包与指定模式匹配 : %s. 请限制搜索模式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/65435877/