azure - 如何通过 Azure DevOps 将 Blazor 应用程序部署到 Azure

标签 azure azure-devops blazor

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

这是我的部署任务的 yaml:

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 core WebApp(只有一个带有 razor 页面),该解决方案之前是使用相同的管道构建和发布的。当我通过同一管道发布该 zip 时,它会按预期工作。

我通过 FTP 检查了有什么不同,并注意到我无法通过 Azure 查看部署中的文件。但当通过 Visual Studio 发布时,它们位于 wwwroot 中。我是否需要专门为 Blazor 配置某些内容?

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

最佳答案

由于我的问题过于笼统,因此这里的答案有两个:

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

正如 Microsoft 在 the trouble shoot document 中指出的那样当您的应用程序无法启动时会出现此错误。对于 Asp.Net 核心应用程序,这还包括在programm.cs和startup.cs类中发生的所有事情。 正如所指出的,您可以在标准输出(如果启用)或事件日志中看到更多信息。要访问这些文件,请转到高级工具,然后转到“调试控制台 -> CMD”,您可以在其中查看所有文件,或者转到“工具 -> 诊断”转储以下载包含(除其他外)这两个文件的 Zip。在这两种情况下,它都位于 LogFiles 文件夹中。

enter image description here

修复崩溃

现在在日志文件中它指出找不到指定的文件。就我而言,这是一个证书,我尝试使用这行代码加载:

var cert = new X509Certificate2(Path.Combine(_environment.ContentRootPath, "Example.pfx"), "MyPassword");

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

    var cert = new X509Certificate2("Example.pfx", "MyPassword",
                                    X509KeyStorageFlags.MachineKeySet |
                                    X509KeyStorageFlags.PersistKeySet |
                                    X509KeyStorageFlags.Exportable);

关于azure - 如何通过 Azure DevOps 将 Blazor 应用程序部署到 Azure,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58158056/

相关文章:

Azure函数应用部署和发布管道错误

azure - 无法更新 Azure devops 中 Azsk 任务中的策略设置

blazor - 在单个解决方案中创建多个 WebAssembly 项目

azure - Azure远程监控IoT套件预配置解决方案可以在本地计算机上完全运行吗?

Azure CLI 任务不适用于 Windows 构建代理

azure - 在哪里可以看到 SQL Azure 进行的内置备份

blazor - 无法在 0.5.1 中构建默认的 blazor 项目

visual-studio - 未添加断点 blazor wasm 项目 Visual Studio 2019 16.10.1 sdk 5.0.301

Azure函数nodejs : How can I extract the object from the request body in this azure function?

azure - 如何检查 Azure Eventhub 的运行状况