gpt4 book ai didi

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

转载 作者:行者123 更新时间:2023-12-03 01:35:46 26 4
gpt4 key购买 nike

我有一个 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/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com