将 ASP.NET Core 5 Web API 发布到 Azure 应用服务

Posted

技术标签:

【中文标题】将 ASP.NET Core 5 Web API 发布到 Azure 应用服务【英文标题】:Publishing an ASP.NET Core 5 Web API to Azure App Services 【发布时间】:2021-09-24 02:12:48 【问题描述】:

我在 ASP.NET Core 5 中编写了一个简单的 API,它已在我的本地计算机上启动并运行。但是当我将它发布到我的 Azure 应用服务时,应用服务的 docker 容器甚至无法启动。

https://myurl.azurewebsites.net/swagger/index.html

以下是我的 Azure 应用程序日志中的警告和错误:

这些错误的原因是什么?我该如何解决?

我的直觉是 Newtonsoft.Json 有问题,虽然我已经在 web api 中安装了包 Microsoft.AspNetCore.Mvc.Newtonsoft。

Azure 以某种方式寻找 Newtonsoft 版本 13.0.0,而我项目中的 Newtonsoft 版本实际上是 12.0.2。

【问题讨论】:

如何将此应用程序发布到 Auzre App Services? 我通过 Visual Studio 发布了它。 (发布构建然后发布) 【参考方案1】:

我发现,就我而言,我之前发布了一个带有 Newtonsoft 13.0.0 的版本。

要删除以前发布的文件,您必须在“发布设置”中选中“删除目标位置的其他文件”。之后,错误消失了,因为旧的 Newtonsoft 参考已经消失了。

【讨论】:

以上是关于将 ASP.NET Core 5 Web API 发布到 Azure 应用服务的主要内容,如果未能解决你的问题,请参考以下文章

将文件从 ASP.NET Core Web api 发布到另一个 ASP.NET Core Web api

如何在 Web API Asp.NET Core 5 中持久化常用数据?

当用户未经身份验证时,ASP.NET Core 5 Web API 返回 404 代码而不是 401

Asp.Net Core Web API 5.0 和 Angular 中基于自定义角色的授权

在 ASP.NET Core 5.0 Web API 中实现 DelegatingHandler?

如何将 ASP.NET Core 5 Web API 控制器操作的失败模型验证结果包装到另一个类中并将响应返回为 OK