Azure devops nopCommerce 4.xx的工作Azure DevOps(又名VSTS)构建定义
是否有人在Azure DevOps中为4.xx工作的版本定义工作?如果是,请共享YAML文件。我尝试了几种可能的解决方案,但都没有成功 我使用了Azure Devops的默认ASP.NET核心模板。见下文YAMLAzure 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
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构建管道时遇到了同样的问题,您找到解决方案了吗?