Blazor WebAssembly Azure DevOps构建管道发布工件

问题描述

我们为blazor webassembly项目创建了一个包含发布任务的构建管道Yaml。出于某种原因,只有wwwroot文件夹项目会生成到放置文件夹中,而由于某些原因,通常不会生成其他所有通常位于wwwroot文件夹之外的二进制文件

这是yaml文件的一部分,该文件可以生成和发布。是为了获取所有生成和发布的文件而设置不正确,还是仅仅将静态文件作为webassembly项目提供给我们?

- script: dotnet build --configuration $(buildConfiguration)
  displayName: 'dotnet build $(buildConfiguration)'

- task: DotNetCoreCLI@2
  inputs:
    command: 'publish'
    publishWebProjects: true
    projects: '**/*.csproj'
    arguments: '--configuration $(buildConfiguration) --output $(build.artifactstagingdirectory)"'
    zipAfterPublish: false

- task: PublishBuildArtifacts@1
  displayName: 'Publish Artifact'
  inputs:
    PathtoPublish: '$(build.artifactstagingdirectory)'
  condition: succeededOrFailed()

此外,由于使用Web服务的Azure配置设置发现Blazor Webassembly存在问题,因此我们需要让发布过程操纵web.config文件,以便我们可以将ASPNETCORE_ENVIRONMENT设置为构建和部署。到目前为止,我发现的所有内容都无法在DevOps构建管道中运行,因为它们是为dotnet脚本设计的。 有谁知道该怎么做?我们试图将site /p:EnvironmentName=Development添加到publish任务的--output参数中,但是它说它不能在多个项目上运行,即使我们将projects参数仅设置为一个(上面没有显示)暂时恢复正常。

谢谢, 克里斯·卡尔维特(Chris Calvert)

解决方法

您尝试过吗?

  • 任务:DotNetCoreCLI @ 2 displayName:发布 输入: 命令:发布 publishWebProjects:正确 参数:'--configuration $(buildConfiguration)--output“ $(build.artifactstagingdirectory)” / p:EnvironmentName = Development' zipAfterPublish:正确

相关问答

Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其...
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。...
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbc...