将.NET Core Web api / angular应用程序发布到IIS

时间:2017-11-01 00:51:25

标签: angular iis asp.net-core

我遇到了将.NET Core 2.0项目部署到IIS

的问题

我按照此处列出的说明操作: https://docs.microsoft.com/en-us/aspnet/core/publishing/iis?tabs=aspnetcore2x#common-errors

我使用Visual Studios发布 enter image description here

当我尝试通过浏览器访问我发布的项目时,出现此错误 消息

enter image description here

查看IIS服务器上的事件查看器,我看到以下错误

enter image description here

我安装了.NET SDK,因此终端可以使用dotnet命令。

我添加了一个global.json文件,该文件根据此链接中的说明指定了正确的dotnet SDK:https://github.com/aspnet/JavaScriptServices/issues/495但是没有解决问题。

如何将我的.NET Core 2.0 WebAPI + Angular4项目发布到IIS?

编辑:

我可以使用dotnet MPMWebsiteLogins.dll

手动启动应用程序

编辑2:

我更新了我的web.config并明确指定了dotnet.exe和MPMWebsiteLogins.dll的路径

<aspNetCore processPath="C:\Program Files\dotnet\dotnet.exe" arguments="C:\inetpub\WebApps\HPIssuesUtilityV2\MPMWebsiteLogins.dll" stdoutLogEnabled="true" stdoutLogFile=".\logs\stdout" />

我现在在我的事件查看器中收到此错误:

Application 'MACHINE/WEBROOT/APPHOST/MPMWEBSITELOGINS' with physical root 'C:\inetpub\WebApps\HPIssuesUtilityV2\' created process with commandline 'C:\Program Files\dotnet\dotnet.exe C:\inetpub\WebApps\HPIssuesUtilityV2\MPMWebsiteLogins.dll' but failed to listen on the given port '1989'

enter image description here

2 个答案:

答案 0 :(得分:1)

我必须从命令提示符执行net stop was /y后跟net start w3svc以获取对系统路径的更改。

答案 1 :(得分:0)

好像你错过了反向代理的ACNM模块。如果您安装.Net core windows server hosting bundle,它应该为您安装所有需要的组件。您可以通过检查IIS模块进行仔细检查,它应该有ASPnetcore。