Azure devops nopCommerce 4.xx的工作Azure DevOps(又名VSTS)构建定义

Azure devops nopCommerce 4.xx的工作Azure DevOps(又名VSTS)构建定义,azure-devops,nopcommerce,Azure Devops,Nopcommerce,是否有人在Azure DevOps中为4.xx工作的版本定义工作?如果是,请共享YAML文件。我尝试了几种可能的解决方案,但都没有成功 我使用了Azure Devops的默认ASP.NET核心模板。见下文YAML content: resources: - repo: self queue: name: Hosted Ubuntu 1604 steps: - task: DotNetCoreCLI@2 displayName: Restore inputs: command

是否有人在Azure DevOps中为4.xx工作的版本定义工作?如果是,请共享YAML文件。我尝试了几种可能的解决方案,但都没有成功

我使用了Azure Devops的默认ASP.NET核心模板。见下文YAML

content: resources:
- repo: self queue:   name: Hosted Ubuntu 1604

steps:
- task: DotNetCoreCLI@2   displayName: Restore   inputs:
    command: restore

   projects: '$(Parameters.RestoreBuildProjects)'


- task: DotNetCoreCLI@2   displayName: Build   inputs:
    projects: '$(Parameters.RestoreBuildProjects)'

    arguments: '--configuration $(BuildConfiguration)'


- task: DotNetCoreCLI@2   displayName: Test   inputs:
    command: test

    projects: '$(Parameters.TestProjects)'

    arguments: '--configuration $(BuildConfiguration)'


- task: DotNetCoreCLI@2   displayName: Publish   inputs:
    command: publish

    publishWebProjects: True

    arguments: '--configuration $(BuildConfiguration) --output $(build.artifactstagingdirectory)'

    zipAfterPublish: True


- task: PublishBuildArtifacts@1   displayName: 'Publish Artifact'   inputs:
    PathtoPublish: '$(build.artifactstagingdirectory)'
在构建步骤中,尝试构建插件时会出现错误:

2018-12-16T20:31:51.2431313Z /home/vsts/work/1/s/src/Build/ClearPluginAssemblies.proj(21,5):错误 MSB3073:命令“dotnet” “/home/vsts/work/1/s/src/Build\ClearPluginAssemblies.dll” “OutputPath=/home/vsts/work/1/s/src/Build/。/Presentation/Nop.Web/bin/Release/netcoreapp2.1/| PluginPath=/home/vsts/work/1/s/src/Plugins/Nop.Plugin.DiscountRules.CustomerRoles/../Presentation/Nop.Web/Plugins/DiscountRules.CustomerRoles/| SaveLocalesFolders=“” 已退出,代码为1

有人知道如何让它工作吗

编辑: 埃里万的回答让我有了一些见解,可以进一步了解。我调查了其中一个插件的csproj文件,见下一节:

谢谢你的回复。这让我更接近问题的根本原因(希望如此)。我调查了nopCommerce插件的一个csproj文件,我看到了以下部分

<!-- This target execute after "Build" target -->
<Target Name="NopTarget" AfterTargets="Build">
<!-- Delete unnecessary libraries from plugins path -->
<MSBuild Projects="$(MSBuildProjectDirectory)\..\..\Build\ClearPluginAssemblies.proj" Properties="PluginPath=$(MSBuildProjectDirectory)\$(OutDir)" Targets="NopClear" />
</Target>


有没有办法在构建期间关闭这些额外的执行?或者,为了在构建期间完成这项工作,而无需调整csproj文件(因为我想采用项目的未来更改)?

如果您将YAML用作Azure管道的选项,则应注意构建的顺序。另外,不要将YAML与构建定义混合使用,因为YAML不同于TFS和VST使用的旧构建定义(在将名称更改为Azure DevOps之前)

看看YAML,你应该在你的基础上有一个完整的构建DotNetCoreCLI@2任务,通过执行命令build。您的错误有点神秘,但它表明您只是直接执行dll,这意味着您将执行dll,而不是实际构建

因此,与此相反:

- task: DotNetCoreCLI@2   
  displayName: Build   
  inputs:
    projects: '$(Parameters.RestoreBuildProjects)'
    arguments: '--configuration $(BuildConfiguration)'
应该是这样的:

- task: DotNetCoreCLI@2   
  displayName: Build   
  command: build
  inputs:
    projects: '$(Parameters.RestoreBuildProjects)'
    arguments: '--configuration $(BuildConfiguration)'

注意额外的
命令:build

我在为azure devops构建管道时遇到了同样的问题,您找到解决方案了吗?