可以在IIS站点的应用程序中托管.NET Core App吗?

时间:2017-12-14 13:27:44

标签: .net iis .net-core iis-7.5

我知道可以使用IIS站点来托管.NET Core App,这很容易。但是,我需要将其托管在该站点内的应用程序中。

我遵循这里提出的指南: https://docs.microsoft.com/en-us/aspnet/core/publishing/iis?tabs=aspnetcore2x

当我按照指南并使用网站作为主持人时,它可以完美运行。但是,当我尝试在该站点的内部内部托管.Net Core应用程序时,我收到配置错误,例如我的web.config中的错误,该错误导致重复输入,甚至如果我在web.config中更改名称或将其注释掉。

如果可能,在IIS站点内的IIS应用程序内托管.NET Core App的过程是什么?

Goal of where I want to host the app

2 个答案:

答案 0 :(得分:0)

我见过其他人对"在层次结构中更高的位置编辑web.config文件"但我无法找到它。通过使用"内容视图"我终于能够找到它了。在IIS中,右键单击主站点的web.config,转到文件资源管理器中的位置,并在那里注释掉重复的条目。

答案 1 :(得分:0)

在Visual Studio中返回您的项目,并在其根目录

创建一个web.config文件
<?xml version="1.0" encoding="utf-8"?>
<configuration>
  <system.webServer>
    <handlers>
      <remove name="aspNetCore"/>
      <add name="aspNetCore" path="*" verb="*" modules="AspNetCoreModule" resourceType="Unspecified" />
    </handlers>
    <aspNetCore processPath="dotnet" arguments=".\WebApplication2.dll" stdoutLogEnabled="false" stdoutLogFile=".\logs\stdout" />
  </system.webServer>
</configuration>
  

请记住修改其字符串以匹配您自己的网络应用(例如arguments)。

此处的额外<remove>标记应避免重复项的配置错误。

通过将自己的web.config放在那里,它也会阻止Visual Studio或dotnet publish为您创建这样的文件。他们生成的副本错过了<remove>标记。