【发布时间】:2019-11-18 19:50:49
【问题描述】:
我正在尝试打包几个包,但是 --no-build 参数或选项被忽略,并且正在构建包括测试项目在内的几个项目。
我在使用“NoBuild”时尝试了不同的组合,但由于某种原因,总是引用额外的项目,我如何在不构建或在包中使用额外项目的情况下打包?
主 YAML:
# ASP.NET Core (.NET Framework)
# Build and test ASP.NET Core projects targeting the full .NET Framework.
# Add steps that publish symbols, save build artifacts, and more:
# https://docs.microsoft.com/azure/devops/pipelines/languages/dotnet-core
trigger:
- develop
variables:
solution: '**/*.sln'
buildPlatform: 'Any CPU'
buildConfiguration: 'Release'
storeBuildNumber: $(Build.BuildNumber)
NugetVersion: '1.1.0-unstable'
steps:
- template: AzureDevOps/Templates/provision-template.yml
parameters:
projects: |
**/ProjectA.csproj
**/ProjectB.csproj
模板 YAML:
parameters:
projects: ''
steps:
- task: DotNetCoreCLI@2
displayName: "ProvisionRestoreProjects"
inputs:
command: 'restore'
projects: ${{ parameters.projects }}
arguments: >
-s "http://MyFeed/nuget/Feed-feature-yaml/"
-k "ASDF3234234SDSD"
- task: DotNetCoreCLI@2
displayName: "ProvisionBuildProjects"
inputs:
command: 'build'
projects: ${{ parameters.projects }}
arguments: '--configuration release --no-cache'
- task: DotNetCoreCLI@2
displayName: "ProvisionPackProjects"
inputs:
command: 'pack'
nobuild: true
projects: ${{ parameters.projects }}
versioningScheme: 'byEnvVar'
versionEnvVar: 'NugetVersion'
arguments: '--no-build'
- task: DotNetCoreCLI@2
displayName: "ProvisionPushProjects"
inputs:
command: custom
custom: nuget
arguments: >
push "$(Build.ArtifactStagingDirectory)\*.nupkg"
-s "http://MyFeed/nuget/Feed-feature-yaml/"
-k "ASDF3234234SDSD"
【问题讨论】:
-
我认为是因为您在前一步构建了项目,所以存在额外的文件并且pack命令收集它们。
-
@ShaykiAbramczyk 如果我不构建,我会收到包装错误:“文件 'C:\AzureDevOpsPools_work\1\s\src\ProjectA\bin\Release\netstandard2.0\ProjectA.在磁盘上找不到要打包的 dll'。[C:\..\ProjectA.csproj]"
-
如果你删除 --no-build 你还有额外的文件吗?
-
对不起,我正在度假,没有笔记本电脑,@HughLin-MSFT 很遗憾没有..
标签: .net .net-core azure-devops yaml azure-pipelines