在IIS 8.5中运行dotnet core api时出错

时间:2017-04-19 00:54:49

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

在生产服务器上我试图在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

1 个答案:

答案 0 :(得分:0)

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