【发布时间】: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,但我遇到了一些问题:
- 当我尝试使用连续的 GitHub 部署并将我的分支附加到它时,我收到错误,基本上说不支持 3.1 版本(最高为 3.0)。很奇怪,在 Azure 上设置 WebApp 服务器时,我选择了 .NET Core 3.1 (LTS) 选项[托管在 Linux 上,没有其他选项]
- 如果我想从 VS2019 手动发布它,我应该部署哪个“项目”?
我假设这个 3-project 模板只是 Microsoft 的友好之手,因此我不必创建 2 个单独的项目,而我想要做的事情可以通过部署两个 separate 网络应用:
- 使用 .NET Core 3.1 构建的 REST API(混合 .Shared 和 .Server 项目 或只需创建 WebAPI 项目)
- 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,我只看到“您的应用服务已启动并正在运行”默认屏幕..
【问题讨论】:
-
我已经在这个页面上,在这里找不到可以解决我的具体问题的解决方案:/