【发布时间】:2016-09-26 13:15:56
【问题描述】:
我使用 .Net Core 创建了一个简单的 Web API,并尝试将其发布到 IIS。但是获得 HTTP 500。
我关注了https://docs.asp.net/en/latest/publishing/iis.html 文章,并做了其中提到的任何事情。
我只安装了https://www.microsoft.com/net/download
DotNetCore.1.0.1-WindowsHosting.exe OPT_INSTALL_REDIST=0
注意:我能够成功部署和访问 MVC 应用程序,但无法使用相同的步骤访问 WebAPI 应用程序。
在 IIS 日志中,我看到以下错误。
无法使用命令行“dotnet”.\Project-1.dll' 启动进程,错误代码 = '0x80070002'。
我正在使用 Visual Studio 2015 中提供的默认 Web api 模板
我错过了什么。 WebAPI 部署与 MVC 应用部署 w.r.t .net 核心不同吗?
【问题讨论】:
-
您能给我们提供更多信息吗?您是只针对 .NET Standard,还是使用特定于平台的代码? Web API 和 MVC 并没有像过去那样在 .NET Core 中分离,因此这不太可能成为症结所在。您的 MVC 应用和 Web API 的应用池是否相同?
-
我的目标是 .NetCore App 1.0.1。我正在使用带有
not managed设置的相同应用程序池。我正在使用 Visual Studio 提供的基本 WebAPI 模板。我认为你可以复制它。 -
最后一个问题,那我看看能不能在本地为我实现:如果你检查你的 IIS 日志,有没有相关的细节?这个错误代码有点笼统。
-
我得到了与我在问题中更新的相同的错误代码。我认为这可能与在 IIS 上安装 .net core 有关。我可以在本地部署它,但不能在服务器上。
-
好的,这就是我所需要的(如果可行,我们会将其移至答案,以便其他人更容易看到)。首先,检查您的系统(不是用户)PATH 变量以确保安装程序将 dotnet 添加到您的路径中。如果没有,请添加它。无论哪种方式,IIS 在运行时都不会选择它。进入服务并重新启动 Windows Process Activation Service。这将重新启动所有 IIS 位并让它更新路径。
标签: asp.net-core-mvc iis-8 .net-core asp.net-core-webapi