首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >如何通过Azure DevOps将Blazor应用程序部署到Azure中

如何通过Azure DevOps将Blazor应用程序部署到Azure中
EN

Stack Overflow用户
提问于 2019-09-29 18:29:33
回答 1查看 1.1K关注 0票数 0

我有一个Blazor应用程序,我构建并希望通过Azure DevOps进行部署。到目前为止,这将导致部署后在通过Azure进行部署时出现500.30启动错误,但当我通过Web直接从Visual部署时,它就会工作。

这是我的部署任务的yaml:

代码语言:javascript
运行
复制
steps:
- task: AzureRmWebAppDeployment@4
  displayName: 'Deploy Azure App Service'
  inputs:
    azureSubscription: '$(Parameters.ConnectedServiceName)'
    appType: '$(Parameters.WebAppKind)'
    WebAppName: '$(Parameters.WebAppName)'
    packageForLinux: '$(System.DefaultWorkingDirectory)/**/*Server.zip'
    JSONFiles: '**/appsettings.json'

在相同的解决方案中,我确实有另一个asp.net核心WebApp (只有一个带有剃刀页),这个解决方案是用相同的管道构建和发布的。当我通过相同的管道发布这个zip时,它会像预期的那样工作。

我通过FTP查看了其中的不同之处,并注意到我无法通过Azure看到部署中的文件。但是,当通过Visual发布时,它们位于www.root中。我必须为Blazor专门配置一些东西吗?

编辑:我确实发现了,问题在我的startup.cs中。我没有看到这些文件的原因可能与文件夹的权限系统有关。我还发现,我可以通过日志文件和事件日志获得转储,其中有更多信息可以通过Kudu获得:

EN

回答 1

Stack Overflow用户

发布于 2019-09-30 17:01:04

由于我的问题是笼统的表述,所以这里的答案有两方面:

如何从此错误获取更多信息

正如微软在故障排除文件中指出的那样,当应用程序无法启动时,就会出现此错误。对于Asp.Net核心应用程序,这也包括在programm.cs和startup.cs类中发生的所有事情。如前所述,您可以在stdout (如果启用)或事件日志中看到更多信息。要访问这些文件,可以转到Advances,或者转到"Debug Console -> CMD“,在那里您可以看到所有的文件,或者可以下载包含这两个文件的”工具->诊断“转储。在这两种情况下,它都位于LogFiles文件夹中。

修复崩溃

现在,它在日志文件中声明它找不到指定的文件。在我的例子中,这是我试图用以下代码加载的证书:

代码语言:javascript
运行
复制
var cert = new X509Certificate2(Path.Combine(_environment.ContentRootPath, "Example.pfx"), "MyPassword");

正如我通过另一个这样的问题发现的,如果您通过Azure DevOps部署到Azure,您必须设置相应的KeyStore标志。对此代码进行调整后,它将如预期的那样工作:

代码语言:javascript
运行
复制
    var cert = new X509Certificate2("Example.pfx", "MyPassword",
                                    X509KeyStorageFlags.MachineKeySet |
                                    X509KeyStorageFlags.PersistKeySet |
                                    X509KeyStorageFlags.Exportable);
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/58158056

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档