在 AZURE 或本地部署 .net core 3.0
Posted
技术标签:
【中文标题】在 AZURE 或本地部署 .net core 3.0【英文标题】:Deploy .net core 3.0 on AZURE or Local 【发布时间】:2019-04-21 16:02:36 【问题描述】:在过去的 2 天里,我在部署我的 WEB API 时绞尽脑汁。
应用规范:WEB API .NET CORE 3.0 Preview 4
首先,我尝试使用应用服务在 Azure 上进行部署。 似乎他们不支持.net core 3.0,但我真的不明白这一点,因为你可以将所有东西都包装在你的包中,这样做不是为了在任何地方都可以部署吗? 当我尝试访问该网站时,我会得到一个 HTTP 错误 500.0 - ANCM 进程内处理程序加载失败,我无法修复。
--我尝试对一个干净的项目做同样的事情,仍然是同样的问题--
其次,我创建了一个虚拟机 (VM) 并部署在 VM 上。
这里我得到一个内部服务器错误,我无法调试(欢迎任何提示)
我第三次部署在本地 IIS 上,这里我得到以下错误: “权限不足,无法读取配置文件”
我将权限添加到 IIS_IUSRS 但之后我得到一个无限循环
--与 clean 项目一样--
我做错了什么,我可以做些什么来部署我的 Web Api 项目。
【问题讨论】:
不幸的是,对 ASP.NET Core 模块存在硬依赖,您将无法在 Azure 应用服务上修复,这就是您收到错误消息的原因。如果您在机器上手动创建不匹配,您可以轻松地重现相同的错误。更多信息请访问docs.jexusmanager.com/tutorials/ancm-diagnostics.html 【参考方案1】:The documentation suggests that it is possible to deploy preview versions,虽然我没试过。 This blogger 遇到了与您相同的问题,并使用这些说明解决了它。他说:
本文档介绍了解决此问题的两种不同方法 - 您可以 安装 ASP.NET Core 3 的预览站点扩展,或者您 可以简单地将您的部署更改为独立的应用程序。 在这种情况下,我们将部署一个独立的 应用程序,因为这减少了任何看起来 对我来说很明智。
因此,构建独立包是解决此问题的一种方法似乎是正确的,但您必须在发布时明确要求。
【讨论】:
经过一天的试用,我放弃了 3.0 预览版并回到 2.2 版。现在一切都按预期工作。仍然只是出于好奇,我会尝试你的建议。谢谢。 我通过部署独立的应用程序得到了它,如下所述:docs.microsoft.com/en-us/aspnet/core/host-and-deploy/azure-apps/… 自包含不适用于 X64,但是当我使用当前 .NET Core 3.0.100-preview5-011568 版本的 ASP.NET Blazor 服务器将其更改回默认 X86 时,它还可以-side 网站。 嗨@TonyWall,我怎样才能将 X64 更改为 X86。你有什么步骤吗 我能够在 3.0 预览版 8 上成功部署,方法是安装核心 3.0 x86(免费层)的扩展,然后转到应用程序设置 > 配置 > 常规设置,将堆栈设置为 .NET 4.7。之后,我的 Blazor 应用程序亮了。以上是关于在 AZURE 或本地部署 .net core 3.0的主要内容,如果未能解决你的问题,请参考以下文章
使用本地文件共享中的块将 .NET Core docker 容器部署到 Azure
在 Azure 的 ASP.NET Core 3.1 应用程序中获取 swagger-ui 返回 404
从 3.1 升级后的 .NET Core 5.0 Azure 部署 CORS 问题
通过 Azure Devops 将 .Net Core 3.1 Web 应用程序部署到 Azure Linux Web 服务时出错