【发布时间】:2018-08-17 15:12:16
【问题描述】:
我有针对 net461 框架的 .NET Core Web 应用程序。我试图将它发布到 IIS。我关注了这个guide 并在访问页面后得到了这个:
我检查了以下内容:
- 有文件夹 .\logs\stdout 并且 IIS 可以完全控制读/写,启用日志记录但不创建日志文件
- AppPool 已选择无托管代码
- 在事件查看器中,Windows 日志/应用程序下没有显示错误
- 在 IIS 日志中没有有用的信息
然后我决定让空的 .NET Core 应用程序也以 net461 为目标并将其部署到 IIS。我遵循完全相同的步骤和这个空的“Hello World!”应用程序有效。
然后我注意到不工作的应用程序有 ASP.NET 部分而其他没有。这是为什么呢?
【问题讨论】:
-
仔细检查您的应用程序池
-
您的 web.config 中的
<aspNetCore />元素上是否有stdoutLogEnabled="true"属性? -
我不确定你所说的使用 .NET Core Web 应用程序定位
net461框架是什么意思。您能否在解决方案资源管理器中右键单击您的 asp.net Web 应用程序项目,然后单击编辑并检查<TargetFramework>。我认为您的 Web 应用程序针对的是 .NET Framework 而不是 .NET Core,这就是为什么当您尝试使用No Managed Code在 AppPool 下托管它时会导致错误 -
单独运行app能成功吗?
-
@MohsinMehmood 看起来不是这样。 ASP.NET Core 应用程序可以以
net461框架为目标,并在带有No Managed Code的AppPool 下运行
标签: .net iis asp.net-core