我想进行构建时使用人工制品时出错

时间:2019-05-20 10:53:50

标签: azure-devops azure-artifacts

我正在为我的.netCore服务使用AzureDevOps,但是在进行构建时,版本存在问题。

此服务使用nugetFeed,而我的YML文件是这样的:

trigger:
- master

pool:
  vmImage: 'windows-latest'

variables:
  solution: '**/*.sln'
  buildPlatform: 'Any CPU'
  buildConfiguration: 'Release'

steps:


  -task: NuGetCommand@2
  inputs:
    command: 'restore'
    restoreSolution: '**/*.sln'
    feedsToUse: 'select'
    vstsFeed: 'FeedsName'
    includeNuGetOrg: false
    versioningScheme: 'off'

  -task: VSBuild@1
  inputs:
    solution: '$(solution)'
    msbuildArgs: '/p:DeployOnBuild=true /p:WebPublishMethod=Package /p:PackageAsSingleFile=true /p:SkipInvalidConfigurations=true /p:DesktopBuildPackageLocation="$(build.artifactStagingDirectory)\WebApp.zip" /p:DeployIisAppPath="Default Web Site"'
    platform: '$(buildPlatform)'
    configuration: '$(buildConfiguration)'

我不理解为什么我下载代码并使用VS进行编译时我没有任何问题,但是将此文件用于构建时我有以下答案:

[错误] nuget命令失败,并显示退出代码(1)和错误(d:\ a \ 1 \ s \ XXX.Services.XXX.DTO \ XXX.Services.XXX.DTO.csproj中的错误

Unable to resolve 'System.Xml.XmlDocument (>= 4.3.0)' for '.NETCoreApp,Version=v2.1'.
Unable to resolve 'System.Runtime.Serialization.Formatters (>= 4.3.0)' for '.NETCoreApp,Version=v2.1'.

感谢您的帮助!

1 个答案:

答案 0 :(得分:0)

您在nuget命令之前缺少任务“ nuget工具安装程序”,否则nuget会使用nuget的过时版本(默认值为4.1,netstandard和netcore需要4.3或更高版本)。 Visual-studio已经包含nuget的最新版本。

在nuget命令之前将以下内容添加到您的Yaml中:

- task: NuGetToolInstaller@0
  displayName: 'Install Nuget'
  inputs:
    versionSpec: '4.x'
    checkLatest: true