将 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 中基于自定义角色的授权