使用exe在IIS上部署ASP.NET Core

时间:2018-02-01 21:42:05

标签: iis asp.net-core

ASP.NET Core似乎在.exe文件中打包了一个Kestrel服务。

我在IIS中查看托管ASP.NET核心应用程序的所有instructions似乎都引用了DLL中的入口点(Main()方法)。

如何暂存.exe文件以便IIS识别它?

我没有看到发布过程的那一部分,我认为这将是一个非常常见的步骤,因为这是ASP.NET Core的默认输出。

2 个答案:

答案 0 :(得分:3)

我们通过在web.config文件中添加以下内容来完成此操作。请注意processPath属性。

^

答案 1 :(得分:-1)

首先创建一个没有托管代码的AppPool:

enter image description here

然后在IIS中创建一个网站,我将其设置为端口8888(因为默认网站使用端口80)将其指向Web发布目录:

enter image description here

网站使用的AppPool没有托管代码:

enter image description here

在Web.Config中:

<?xml version="1.0" encoding="utf-8"?>
<configuration>
  <system.webServer>
    <handlers>
      <add name="aspNetCore" path="*" verb="*" modules="AspNetCoreModule" resourceType="Unspecified" />
    </handlers>
    <aspNetCore processPath="dotnet" arguments=".\AdviserPaymentList.dll" stdoutLogEnabled="false" stdoutLogFile=".\logs\stdout" />
  </system.webServer>
</configuration>

然后浏览到http://localhost:8888/Home,任何问题都会查看日志。