【问题标题】:Deploy Blazor WebAssembly App ASP.NET Core hosted to Azure部署托管到 Azure 的 Blazor WebAssembly 应用程序 ASP.NET Core
【发布时间】:2020-03-05 23:26:28
【问题描述】:

我在 Visual Studio 2019 中有一个 3-projects 解决方案结构(客户端、服务器、共享)。我创建它的具体操作可以描述为:

  • [GUI] BlazorApp -> Blazor WebAssembly 应用程序 -> 勾选 [v] ASP.NET Core 托管

等于:

  • [CMD] dotnet new blazorwasm --hosted

我想将此项目部署到 Azure,但我遇到了一些问题:

  1. 当我尝试使用连续的 GitHub 部署并将我的分支附加到它时,我收到错误,基本上说不支持 3.1 版本(最高为 3.0)。很奇怪,在 Azure 上设置 WebApp 服务器时,我选择了 .NET Core 3.1 (LTS) 选项[托管在 Linux 上,没有其他选项]
  2. 如果我想从 VS2019 手动发布它,我应该部署哪个“项目”?

我假设这个 3-project 模板只是 Microsoft 的友好之手,因此我不必创建 2 个单独的项目,而我想要做的事情可以通过部署两个 separate 网络应用:

  1. 使用 .NET Core 3.1 构建的 REST API(混合 .Shared 和 .Server 项目 只需创建 WebAPI 项目)
  2. Blazor WebAssembly 应用程序(所谓的客户端)

不过,如果这可以一次完成 - 我会更喜欢它。


提前谢谢你!


编辑 1 (10.03.20 10:15)

这是我的 *.yml 文件:

trigger:
- master

pool:
  vmImage: 'windows-latest'

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

steps:
- task: NuGetToolInstaller@1

- task: NuGetCommand@2
  inputs:
    restoreSolution: '$(solution)'

- 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)'

- task: VSTest@2
  inputs:
    platform: '$(buildPlatform)'
    configuration: '$(buildConfiguration)'

- task: DotNetCoreCLI@2
  displayName: 'dotnet publish $(buildConfiguration)'
  inputs:
    command: publish
    publishWebProjects: True
    arguments: '--configuration $(buildConfiguration) --output $(Build.ArtifactStagingDirectory)'
    zipAfterPublish: True

- task: PublishBuildArtifacts@1
  displayName: 'publish artifacts'

WebApp的配置:

  • 发布:代码

  • 运行时堆栈:.NET Core 3.1 (LTS)

  • 操作系统:Linux

编辑 2 (10.03.20 10:31)

得到以下错误:

错误:多个包与指定模式匹配:D:\a\r1\a**.zip。请限制搜索模式。*

编辑 3 (10.03.20 10:15)

在我更改了此列表中的特定 zip 文件后,构建终于成功了(此文件夹中的所有项目都在屏幕截图中可见。我选择了 WebApp.zip) 但是 - 我转到 url,我只看到“您的应用服务已启动并正在运行”默认屏幕..

【问题讨论】:

标签: c# asp.net azure blazor


【解决方案1】:

我遇到了同样的问题,我没有直接通过 Github,而是使用 Azure DevOps 从 Github 中提取、构建然后部署到我的 web 应用程序。

您会在这里找到很棒的教程。

https://youtu.be/jRgLSMlp28U

【讨论】:

  • 听起来很有趣,我会尝试一下,希望它不会与所有资源组、计划、Web 应用程序和 dbs 混淆。是否可以通过免费的 12 个月计划(学生)使用 DevOps?
  • 当然,这应该不是问题。我对此也很陌生,但有了 DevOps,你应该能够做任何你需要的事情。
  • 我尝试按照视频中显示的方式进行操作,但在定位 *.zip 文件时遇到了问题。它告诉你不止一个,它不知道要针对哪一个......
  • 我今天会尝试更深入地研究它,看看我是否能弄清楚。
  • 你能分享你的 YAML 文件吗?
【解决方案2】:

Azure 构建代理没有安装最新的 .NET SDK。 将此添加到您的 yaml 文件中:

- task: UseDotNet@2
  displayName: 'Use latest preview of .Net Core sdk 3.x'
  inputs:
    version: 3.x
    includePreviewVersions: true

【讨论】:

  • 另外,我在将预览 DLL 部署到 Linux WebApp 时遇到了问题。我创建了一个 Windows WebApp,部署成功。如果您需要更多详细信息,请联系我
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2023-03-17
  • 1970-01-01
  • 2021-07-21
  • 2021-10-26
  • 1970-01-01
  • 1970-01-01
  • 2021-02-19
相关资源
最近更新 更多