C# NET Core 2默认值';Web应用程序“;在win7下的远程IIS上失败
构建了默认的Net Core 2应用程序,未经授权,并通过VS2017将其成功web部署到Win 7下的远程IIS实例。但是,该应用程序无法运行,产生HTTP 500错误 日志文件显示500.19错误: 字段:日期时间s-ip cs方法cs uri stem cs uri查询s-port cs用户名c-ip cs(用户代理)sc状态sc子状态sc-win32-status 所用时间2018-03-29 20:42:20:1 GET/-81-::1 Mozilla/5.0+(Windows+NT+6.1;+WOW64;+Trident/7.0;+rv:11.0)+like+Gecko 500 195 296 经过研究,似乎有无数的选项可以设置为在IIS下运行。我首先尝试了MS,这导致了上述错误 以下是web.config:C# NET Core 2默认值';Web应用程序“;在win7下的远程IIS上失败,c#,iis,asp.net-core,C#,Iis,Asp.net Core,构建了默认的Net Core 2应用程序,未经授权,并通过VS2017将其成功web部署到Win 7下的远程IIS实例。但是,该应用程序无法运行,产生HTTP 500错误 日志文件显示500.19错误: 字段:日期时间s-ip cs方法cs uri stem cs uri查询s-port cs用户名c-ip cs(用户代理)sc状态sc子状态sc-win32-status 所用时间2018-03-29 20:42:20:1 GET/-81-::1 Mozilla/5.0+(Windows+NT+
<?xml version="1.0" encoding="utf-8"?>
<configuration>
<system.webServer>
<handlers>
<add name="aspNetCore"
path="*" verb="*"
modules="AspNetCoreModule"
resourceType="Unspecified" />
</handlers>
<aspNetCore processPath="dotnet"
arguments=".\WebApplication1.dll"
stdoutLogEnabled="true"
stdoutLogFile=".\logs\stdout" />
</system.webServer>
</configuration>
IIS加载项:
MS Web平台安装程序
Net核心服务器托管
Web部署
MS.NET Core 2.0.6 Windows服务器托管
问题:
当发布到IIS时,默认应用程序是否应按原样工作
如果没有,有什么必要
这没有显示有关错误的足够信息
首先,我建议您在web.config下启用stdoutLog。在program.cs下启用详细的错误日志也是有意义的,包括
UseSetting(“detailedErrors”、“true”)
CaptureStartupErrors(真)
运行时标识符的目录可以在中找到
然后,您需要正确地将发布配置文件更新到目标远程平台。默认情况下,它是“可移植的”这不会显示足够的错误信息
首先,我建议您在web.config下启用stdoutLog。在program.cs下启用详细的错误日志也是有意义的,包括
UseSetting(“detailedErrors”、“true”)
CaptureStartupErrors(真)
运行时标识符的目录可以在中找到
然后,您需要正确地将发布配置文件更新到目标远程平台。默认情况下,它是“可移植的”解决方案是将IIS应用程序池访问权限添加到存放Net Core应用程序的文件夹中,如Microsoft文档所示
因此,是的,默认的ASP.NET Core 2应用程序将在IIS下正常运行。这个问题和应用完全无关
由于我对web开发和IIS的无知,这个问题花费了我将近三天的时间,我将发布这个答案,以防其他人也有同样的问题
感谢Simonare让我走上正轨,尽管是间接的。解决方案是将IIS应用程序池访问权限添加到存放Net Core应用程序的文件夹中,如Microsoft文档所示
因此,是的,默认的ASP.NET Core 2应用程序将在IIS下正常运行。这个问题和应用完全无关
由于我对web开发和IIS的无知,这个问题花费了我将近三天的时间,我将发布这个答案,以防其他人也有同样的问题
感谢Simonare让我走上正轨,尽管是间接的。当您检查事件日志(使用事件查看器
)时,有什么有趣的地方吗?您安装了.NET Core Server托管捆绑包吗?它无法与OOB IISYes一起工作,捆绑包已安装。请参见上文以查看已安装的软件包。实际的500.19页面将说明原因。尝试各种方法找到它。当您检查事件日志(使用事件查看器
)时,有什么有趣的地方吗?您是否安装了.NET Core Server托管捆绑包?它无法与OOB IISYes一起工作,捆绑包已安装。请参见上文以查看已安装的软件包。实际的500.19页面将说明原因。想方设法找到它。谢谢你的帮助。默认生成的web应用程序应该在IIS下运行还是需要更改?您不需要更改,但需要在.NET Core 2.0.6 Runtime下安装.NET Core运行时软件包(2个软件包),并同时安装托管这两个软件包的Windows Server。需要更多吗?不需要。请按照我提到的故障排除程序进行操作。谢谢,Simonare。原来是文件夹权限问题,应用本身没有任何问题。谢谢帮助。默认生成的web应用程序应该在IIS下运行还是需要更改?您不需要更改,但需要在.NET Core 2.0.6 Runtime下安装.NET Core运行时软件包(2个软件包),并同时安装托管这两个软件包的Windows Server。需要更多吗?不需要。请按照我提到的故障排除程序进行操作。谢谢,Simonare。结果证明是文件夹权限问题,应用本身没有任何问题。
var host = WebHost.CreateDefaultBuilder(args)
.UseSetting("detailedErrors", "true")
.CaptureStartupErrors(true)
.UseKestrel()
.UseStartup<Startup>()
.Build();
<RuntimeIdentifiers>win10-x64;win7-x64</RuntimeIdentifiers>