对Azure App Service上的500.31 ANCM进行故障排除

杰里米·卡尼(Jeremy Caney)

将项目从ASP.NET Core 3.0升级ASP.NET Core 3.1后,我的应用程序停止在Azure App Services上运行,在使用Azure DevOps Pipelines进行连续部署发布时才停止与另一个问题类似,如果我直接从Visual Studio发布,它将继续起作用。)

具体来说,管道仍然可以使用Azure App Service DeployAzureRmWebAppDeployment)任务进行发布,但无法在Azure App Service环境中加载,但有500.32例外

500.31 ANCM无法找到本地依赖项

此问题的常见解决方案:

找不到指定的版本的Microsoft.NetCore.App或Microsoft.AspNetCore.App。

现在,对于未安装.NET Runtime的情况,我非常熟悉此错误,这在Microsoft发布新版本后立即很常见。在这些情况下,典型的解决方案是:

  1. 发布为--self-contained应用程序版本,或发布到
  2. 启用适当的运行时作为App Service Extension(如果有)。

在这种情况下,我知道App Services环境中可以使用.NET Core 3.1.2运行时,并且还确认这些解决方案不能解决问题。这表明存在其他潜在错误。

其他线程建议在Windows事件查看器以及此处)中查找那些详细信息由于这是Azure应用服务,因此我查看了“应用服务日志”这些仅包括上述错误的副本,但是没有任何更多详细信息。此外,Azure Application Insights中没有记录任何异常,表明此错误是在加载Application Insights之前发生的。

鉴于此,我的问题是:如何解决Azure App Service上的500.31错误?

杰里米·卡尼(Jeremy Caney)

应用程序服务日志都没有类似于Windows事件查看器; 它们将捕获异常,并且对于排除您没有看到的错误很有用,但是至少它们不会为ANCM错误提供其他信息。取而代之的是,您需要确保启用了详细的错误,以确保您还可以获取ANCM检测到特定错误

启用详细错误

在ASP.NET Core应用程序中,可以使用类中UseDeveloperExceptionPage()中间件来启用详细的错误Startup在标准ASP.NET Core模板中,可以根据环境变量有条件地切换它们:

public class Startup {
  public static void Configure(IApplicationBuilder app, IWebHostEnvironment env) {
    if (env.IsDevelopment()) {
      app.UseDeveloperExceptionPage();
    }
  }
}

在这种情况下,您只需要将App Service配置的ASPNETCORE_ENVIRONMENT配置变量更改为即可Development

注意:这样做会暴露所有异常的详细信息,并可能导致潜在的安全漏洞。仅应在其他情况下确保安全的开发环境中启用此功能,或将其作为面向公众的服务器上的临时故障排除技术启用。

检测到特定错误

就我而言,这暴露了以下内容:

500.31 ANCM无法找到本地依赖项

此问题的常见解决方案:

找不到指定的版本的Microsoft.NetCore.App或Microsoft.AspNetCore.App。

ANCM检测到的特定错误:

错误:未找到在应用程序依赖项清单(Project.deps.json)中指定的程序集:软件包:'Microsoft.Data.SqlClient',版本:'1.0.19269.1'路径:'runtimes / win / lib / netcoreapp2.1 /Microsoft.Data.SqlClient.dll'

现在,您的应用程序正在寻找的确切基础依赖关系可能会有所不同。但是关键点在于,即使它能够加载正确的.NET Runtime(在我的情况下为.NET Core 3.1),它仍在尝试从.NET Core 2.1运行时加载旧版依赖项,从而触发此错误。但是,除非首先启用,否则您将无法确定该依赖关系对Azure App Service的影响UseDeveloperExceptionPage()

解决问题

实际的解决方案显然取决于您收到的确切错误。在这种情况下,提供对最新NuGet程序包明确引用可以Microsoft.Data.SqlClient解决此问题,并允许Azure App Service正确显示站点。

就是说,我仍然不清楚为什么在直接从Visual Studio直接发布时可以奏效,但是在通过Azure DevOps Pipeline发布时失败了。我知道使用各种标志时包含的依赖项之间可能会有细微的差异dotnet publish,因此我的假设是Visual Studio和Azure App Service Deploy任务调用的方式之间存在差异dotnet publish

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

对Azure App Service推送通知注册中的iOS进行故障排除

来自分类Dev

对Divs上的CSS边框进行故障排除

来自分类Dev

对 kubernetes 上的 ingress 进行故障排除

来自分类Dev

Azure管道:使用Azure App Service Deploy排除文件夹

来自分类Dev

Azure App Service(Mobile)上的db上下文失败

来自分类Dev

无法连接到在Azure App Service上运行的KAFKA

来自分类Dev

如何在Azure Web App Service上获取IP地址

来自分类Dev

Azure App Service / Web App是否取代Azure Cloud Service?

来自分类Dev

Azure App Service / Web App是否取代Azure Cloud Service?

来自分类Dev

Microsoft Azure App Service Storage

来自分类Dev

Azure App Service Web App对VM的访问

来自分类Dev

Azure App Service Web App对VM的访问

来自分类Dev

Azure App Service解决方法500自定义域限制

来自分类Dev

对iOS上的asp.net Web应用进行故障排除

来自分类Dev

对RHEL7上的HAProxy进行故障排除

来自分类Dev

对Windows上的USB GPS接收器进行故障排除

来自分类Dev

如何在Debian上对SSL网站验证进行故障排除?

来自分类Dev

在Azure App Service(Linux)上运行的Node / Next / React App是否需要web.config文件?

来自分类Dev

对Azure网站上的CPU利用率爬行进行故障排除

来自分类Dev

在 azure 环境中对 OWIN 进行故障排除,尝试获取 OWIN 日志

来自分类Dev

SignalR Core可在localhost上运行,但不能在Azure App Service上运行

来自分类Dev

我可以在Azure App Service上运行Node / ExpressJS应用程序,还是必须使用Azure Cloud Service?

来自分类Dev

来自Azure App Service的Blob存储访问

来自分类Dev

带有Azure App Service的ABCpdf .NET

来自分类Dev

将Springboot部署到Azure App Service

来自分类Dev

Azure App Service容器不断重启

来自分类Dev

如何管理Azure App Service证书

来自分类Dev

使用KeyVault的Azure App Service JSON转换

来自分类Dev

通过Azure创建App Service托管的证书

Related 相关文章

  1. 1

    对Azure App Service推送通知注册中的iOS进行故障排除

  2. 2

    对Divs上的CSS边框进行故障排除

  3. 3

    对 kubernetes 上的 ingress 进行故障排除

  4. 4

    Azure管道:使用Azure App Service Deploy排除文件夹

  5. 5

    Azure App Service(Mobile)上的db上下文失败

  6. 6

    无法连接到在Azure App Service上运行的KAFKA

  7. 7

    如何在Azure Web App Service上获取IP地址

  8. 8

    Azure App Service / Web App是否取代Azure Cloud Service?

  9. 9

    Azure App Service / Web App是否取代Azure Cloud Service?

  10. 10

    Microsoft Azure App Service Storage

  11. 11

    Azure App Service Web App对VM的访问

  12. 12

    Azure App Service Web App对VM的访问

  13. 13

    Azure App Service解决方法500自定义域限制

  14. 14

    对iOS上的asp.net Web应用进行故障排除

  15. 15

    对RHEL7上的HAProxy进行故障排除

  16. 16

    对Windows上的USB GPS接收器进行故障排除

  17. 17

    如何在Debian上对SSL网站验证进行故障排除?

  18. 18

    在Azure App Service(Linux)上运行的Node / Next / React App是否需要web.config文件?

  19. 19

    对Azure网站上的CPU利用率爬行进行故障排除

  20. 20

    在 azure 环境中对 OWIN 进行故障排除,尝试获取 OWIN 日志

  21. 21

    SignalR Core可在localhost上运行,但不能在Azure App Service上运行

  22. 22

    我可以在Azure App Service上运行Node / ExpressJS应用程序,还是必须使用Azure Cloud Service?

  23. 23

    来自Azure App Service的Blob存储访问

  24. 24

    带有Azure App Service的ABCpdf .NET

  25. 25

    将Springboot部署到Azure App Service

  26. 26

    Azure App Service容器不断重启

  27. 27

    如何管理Azure App Service证书

  28. 28

    使用KeyVault的Azure App Service JSON转换

  29. 29

    通过Azure创建App Service托管的证书

热门标签

归档