在生产服务器上我试图在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.1
和Windows Server Hosting 1.0.1
。但在开发环境中,我可以通过IIS访问API。
但是,我已安装IIS 8.5
,.Net Core 1.0.4
和Microsoft .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
答案 0 :(得分:0)
这是我的错。最初我将我的应用程序部署到C:\MyFolder
,IIS网站指向C:\MyFolder
但后来我将部署更改为C:\MyFolder\Api
但忘记更新IIS网站物理路径。