【发布时间】:2020-09-23 10:54:45
【问题描述】:
我正在尝试在 IIS 中托管一个 .net Core API。 当我让它在 Visual Studio 中运行时,一切正常。对于部署,我首先将项目发布到一个文件夹,将内容复制到所需位置并在 IIS 中创建一个应用程序。它设置为使用与“无托管代码”配置的应用程序池。
当我尝试调用一个可用的端点(通过前端或手动)时,我收到一个 http 500 错误(内部服务器错误。您要查找的资源有问题,无法显示。)
我在服务器上找不到任何有意义的日志。只有在事件查看器中才能找到错误事件。
“无法加载配置。异常消息:需要属性‘processPath’。”
现在我不确定为什么会这样,因为项目的 Web.config 中的 processPath 属性肯定存在,并且在发布时是这样生成的。它看起来像:
<?xml version="1.0" encoding="utf-8"?>
<configuration>
<location path="." inheritInChildApplications="false">
<system.webServer>
<handlers>
<add name="aspNetCore" path="*" verb="*" modules="AspNetCoreModuleV2" resourceType="Unspecified" />
</handlers>
<aspNetCore processPath=".\MyApplication.exe" stdoutLogEnabled="true" stdoutLogFile=".\logs\stdout" hostingModel="InProcess" />
</system.webServer>
</location>
</configuration>
核心主机包已安装。在此服务器上完全重新启动并不可行(或者至少我想避免它)。出于这个原因,我跑了
net stop was /y
net start w3svc
了解所做的任何更改。
对于如何解决此问题的任何想法和建议,我都会很高兴。 提前非常感谢!
【问题讨论】:
-
运行一些诊断并编辑您的问题以包含报告,docs.jexusmanager.com/tutorials/ancm-diagnostics.html
标签: asp.net-core iis .net-core