配置 web.config dotnet IIS
Configure web.config dotnet IIS
我正在开发一个 dotnet 应用程序,遵循参考和本地 Ubuntu 一切正常,但是现在我尝试发布到我的 windows 服务器,并且访问路由可配置他们自己从以下错误:
在参考中他会告诉我删除我 web.config 中格式错误的元素,但我不知道我做错了什么,有人可以帮助我吗?
<?xml version="1.0" encoding="utf-8"?>
<configuration>
<system.webServer>
<handlers>
<add name="aspNetCore" path="*" verb="*" modules="AspNetCoreModuleV2" resourceType="Unspecified" />
</handlers>
<aspNetCore processPath="dotnet" arguments=".\connect-app.dll" stdoutLogEnabled="true" stdoutLogFile=".\logs\stdout" forwardWindowsAuthToken="false" hostingModel="inprocess" />
</system.webServer>
</configuration>
我用您提供的 0x8007000d 错误代码搜索了 500.19 IIS。我发现的文章指出,当模块丢失和/或尚未安装时会发生这种情况。
仔细检查 IIS 的 ASP.NET 核心模块是否安装在带有 web.config 的系统上,然后从那里开始。
来源:
The Horrible Story of Publishing NET Core Web Apps for Beginners
MSDN - Host ASP.NET Core on Windows with IIS
编辑:
您的 ApplicationHost.config 文件中有什么?你有<section name="aspNetCore" overrideModeDefault="Allow" />
吗?
来源:
确保您已为 IIS
启用 ASP.NET 功能
Install IIS and ASP.NET modules in Windows 2016
尝试卸载和安装 IIS 运行时支持(ASP.NET 核心模块 v2)
有多种方法可能导致您出现此错误。
ASP.NET 核心模块 v2 未正确安装和配置。
- 从 here
安装 ASP.NET Core Hosting Bundle
- 验证 IIS 模块中的 AspNetCoreModuleV2
有时,文件系统可能会限制对应用程序池某些路径的访问
尝试将应用程序池标识添加到相应的
File/Folder
ICACLS C:\StatusApp\ /grant "IIS AppPool\YourAppPool:F"
将您的主机设为 "Out of Process" 并查看 .NET Core
应用程序已正确实例化。
1. URL重写配置不正确或安装不正确
错误 0x8007000d 如果您的 URL 重写模块在 web.config 中丢失或未安装正确的版本,可能会发生。
确保通过网络平台安装程序安装URL重写模块。(REFERENCE)
2。检查标准日志
您还可以查看 web.config 中启用的 stdlog 文本文件,以查看到底发生了什么。
3.ASP.NET 核心模块 v2
最后,按照其他用户的建议确保 ASP.NET 核心模块 v2 已正确安装和配置
我的问题是因为 IIS 安装是在 ASP.NET Core Hosting Bundle 之后完成的。这没有正确安装 ASP.NET Core Module v2。
你应该有文件夹 C:\Program Files\IIS
我需要修复托管包的安装,然后包含 ASP.NET 核心模块 v2 安装。
我正在开发一个 dotnet 应用程序,遵循参考和本地 Ubuntu 一切正常,但是现在我尝试发布到我的 windows 服务器,并且访问路由可配置他们自己从以下错误:
在参考中他会告诉我删除我 web.config 中格式错误的元素,但我不知道我做错了什么,有人可以帮助我吗?
<?xml version="1.0" encoding="utf-8"?>
<configuration>
<system.webServer>
<handlers>
<add name="aspNetCore" path="*" verb="*" modules="AspNetCoreModuleV2" resourceType="Unspecified" />
</handlers>
<aspNetCore processPath="dotnet" arguments=".\connect-app.dll" stdoutLogEnabled="true" stdoutLogFile=".\logs\stdout" forwardWindowsAuthToken="false" hostingModel="inprocess" />
</system.webServer>
</configuration>
我用您提供的 0x8007000d 错误代码搜索了 500.19 IIS。我发现的文章指出,当模块丢失和/或尚未安装时会发生这种情况。
仔细检查 IIS 的 ASP.NET 核心模块是否安装在带有 web.config 的系统上,然后从那里开始。
来源:
The Horrible Story of Publishing NET Core Web Apps for Beginners
MSDN - Host ASP.NET Core on Windows with IIS
编辑:
您的 ApplicationHost.config 文件中有什么?你有<section name="aspNetCore" overrideModeDefault="Allow" />
吗?
来源:
确保您已为 IIS
启用 ASP.NET 功能Install IIS and ASP.NET modules in Windows 2016
尝试卸载和安装 IIS 运行时支持(ASP.NET 核心模块 v2)
有多种方法可能导致您出现此错误。
ASP.NET 核心模块 v2 未正确安装和配置。
- 从 here 安装 ASP.NET Core Hosting Bundle
- 验证 IIS 模块中的 AspNetCoreModuleV2
有时,文件系统可能会限制对应用程序池某些路径的访问
尝试将应用程序池标识添加到相应的 File/Folder
ICACLS C:\StatusApp\ /grant "IIS AppPool\YourAppPool:F"
将您的主机设为 "Out of Process" 并查看 .NET Core 应用程序已正确实例化。
1. URL重写配置不正确或安装不正确
错误 0x8007000d 如果您的 URL 重写模块在 web.config 中丢失或未安装正确的版本,可能会发生。
确保通过网络平台安装程序安装URL重写模块。(REFERENCE)
2。检查标准日志
您还可以查看 web.config 中启用的 stdlog 文本文件,以查看到底发生了什么。
3.ASP.NET 核心模块 v2
最后,按照其他用户的建议确保 ASP.NET 核心模块 v2 已正确安装和配置
我的问题是因为 IIS 安装是在 ASP.NET Core Hosting Bundle 之后完成的。这没有正确安装 ASP.NET Core Module v2。
你应该有文件夹 C:\Program Files\IIS
我需要修复托管包的安装,然后包含 ASP.NET 核心模块 v2 安装。