我有一个.Net Core2应用程序,我已成功部署到十几台服务器上。没问题。我非常清楚我在做什么。
现在我有一台让我塞满的机器。它在通过IIS运行时出现500错误,但在本地命令提示符下完美运行,例如http://localhost:5000/
我做了所有常见的事情; 1.安装.Net 4.7(由于遗留库,我的基于.Net平台) 2.在IIS上安装.Net Core托管(v2.05) 3.在Web配置中启用日志 4.创建logs文件夹并检查它是否具有IIS APPPOOL权限 5.从命令提示符运行它(它完美地运行并处理请求)
它不会为IIS日志或我的应用程序创建日志(后者并不奇怪,因为它看起来甚至没有启动应用程序)。我以前遇到过各种各样的问题,但总是能够让失去的人想出来 - 不是这次。 Windows中没有任何内容记录。
我尝试从提示符运行我的应用程序,并得到Visual C ++缺失错误 - 这很奇怪,因为MSVC ++是应该与服务托管一起安装的先决条件。没关系 - 我安装了86和64位版本。然后我卸载并重新安装了.Net Core托管的Windows服务器。
我的应用程序现在从命令提示符运行,只是说在localhost:5000上侦听。凉。
但它仍然无法在IIS中运行。它仍然不会产生日志。
我还能做什么?
答案 0 :(得分:0)
好的,事实证明.Net核心项目模板附带的标准web.config包含了这个看似无害的行
<modules>
<remove name="WebDAVModule" />
</modules>
99%的时间会进入守门员,因为默认情况下启用了webdav。但如果不是...... BOOM。应用程序甚至没有在IIS中启动
将其从配置中删除