Разверните приложение Blazor WebAssembly ASP. NET Ядро, размещенное на Azure - PullRequest
0 голосов
/ 06 марта 2020

У меня есть структура решения с 3 проектами (клиент, сервер, общий доступ) в Visual Studio 2019. То, что я точно сделал для его создания, можно описать так:

  • [GUI] BlazorApp -> Blazor WebAssembly App -> отметка checbox [v] ASP. NET Ядро размещено

, что равно:

  • [CMD] do tnet new blazorwasm --hosted

Я бы хотел развернуть эти проекты на Azure, но Я сталкиваюсь с некоторыми проблемами:

  1. Когда я пытался использовать непрерывное развертывание GitHub и прикреплял к нему свою ветку, я получал сообщение об ошибке, которое в основном говорило о том, что версия 3.1 не поддерживается (самая высокая версия - 3.0). Странно, что при настройке сервера WebApp на Azure я выбрал. NET Опция Core 3.1 (LTS) [размещен на Linux, других вариантов нет]
  2. Если я хочу опубликовать sh это вручную из VS2019, какой «проект» мне следует развернуть?

Я предполагаю, что этот шаблон с 3 проектами - просто дружеская рука от Microsoft, поэтому мне не нужно создавать 2 отдельных проект и то, что я пытаюсь сделать, можно сделать, просто развернув два отдельных WebApps:

  1. REST API, созданный с помощью. NET Core 3.1 (mix .Shared и .Server проекты ИЛИ просто создать проект WebAPI)
  2. Blazor WebAssembly App (так называемая на стороне клиента)

Хотя, если это можно сделать все сразу - я предпочел бы.


Заранее спасибо!


РЕДАКТИРОВАТЬ 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:

  • Publi sh: Код

  • Ru ntime stack:. NET Core 3.1 (LTS)

  • OS: Linux

EDIT 2 ( 10.03.20 10:31)

Получена следующая ошибка:

Ошибка: более одного пакета соответствует указанному шаблону: D: \ a \ r1 \ а **. застежка-молния. Пожалуйста, ограничьте шаблон поиска. *

РЕДАКТИРОВАТЬ 3 (10.03.20 10:15)

Построение завершилось успешно, после того как я изменил спецификацию c zip-файл из этого списка (все элементы в этой папке видны на скриншоте. Я выбрал WebApp.zip) Но - я go на URL и вижу только "Ваше приложение" служба запущена и работает "экран по умолчанию ..

Build folder

Ответы [ 2 ]

2 голосов
/ 06 марта 2020

Я столкнулся с этой же проблемой, вместо того, чтобы проходить через Github напрямую, я использовал Azure DevOps для извлечения из Github, сборки и развертывания в моем веб-приложении.

Вы найдете отличный учебник здесь.

https://youtu.be/jRgLSMlp28U

0 голосов
/ 19 апреля 2020

Azure сборочные агенты не имеют самой последней версии. NET SDK установлен. Добавьте это в ваш файл yaml:

- task: UseDotNet@2
  displayName: 'Use latest preview of .Net Core sdk 3.x'
  inputs:
    version: 3.x
    includePreviewVersions: true
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...