【问题标题】:Error while running dotnet core api in IIS 8.5在 IIS 8.5 中运行 dotnet core api 时出错
【发布时间】:2017-09-15 00:28:27
【问题描述】:

在生产服务器上,我尝试在 IIS 8.5 下运行 dotnet core api,但出现错误

具有物理根目录“D:\MyFolder\”的应用程序“MACHINE/WEBROOT/APPHOST/MySite” 无法使用命令行 '"" ' 启动进程,ErrorCode = '0x80070057 : 0.

我可以使用命令提示符在Kestrel 中运行我的 API,没有任何问题。 但是我无法通过 IIS 调用 API。我在事件查看器中遇到了上述错误。

注意:我还安装了IIS 8.5.Net Core 1.0.1Windows Server Hosting 1.0.1 的开发服务器。但在开发环境中,我可以通过 IIS 访问 API。

但是在我安装了IIS 8.5.Net Core 1.0.4Microsoft .Net Core 1.0.4 & 1.1.1 - Windows Server Hosting 的新生产服务器中发生了错误

由于在生产中,我可以使用.Net Core 1.0.4 在 Kestrel 中运行应用程序,我认为这不是 .net 核心版本的问题。
我猜它的发生是因为Microsoft .Net Core 1.0.4 & 1.1.1 - Windows Server Hosting。这个版本在开发和生产上是不同的。

问题
我该如何解决这个错误?
我在哪里可以找到旧版本的 Windows Server Hosting 安装文件。 (they are not here)

更新 1
下面是最终部署的 web.config

<?xml version="1.0" encoding="utf-8"?>
<configuration>
  <!--
    Configure your application settings in appsettings.json. Learn more at http://go.microsoft.com/fwlink/?LinkId=786380
  -->
  <system.webServer>
    <handlers>
      <add name="aspNetCore" path="*" verb="*" modules="AspNetCoreModule" resourceType="Unspecified" />
    </handlers>
    <aspNetCore processPath="dotnet" arguments=".\Api.dll" stdoutLogEnabled="false" stdoutLogFile=".\logs\stdout" forwardWindowsAuthToken="false" />
  </system.webServer>
</configuration>

我尝试将 processPath 更改为 C:\Program Files\dotnet.exe,但没有成功

更新 2
这里是project.json

【问题讨论】:

  • 显示您的 web.config。它很可能坏了。
  • @Pawel 查看更新1

标签: iis asp.net-core asp.net-core-mvc coreclr kestrel-http-server


【解决方案1】:

这是我的错。最初我将我的应用程序部署到 C:\MyFolder 并且 IIS 网站指向 C:\MyFolder 但后来我将部署更改为 C:\MyFolder\Api 但忘记更新 IIS 网站物理路径。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2018-10-13
    • 2015-12-27
    • 1970-01-01
    • 1970-01-01
    • 2017-03-13
    • 1970-01-01
    • 2018-03-11
    • 1970-01-01
    相关资源
    最近更新 更多