0

Config section 'System.web/httpRuntime' already defined将应用程序部署到开发环境时出现错误。

部署后,如果我按下AuthenticationIIS 服务器管理概述上的按钮,我会收到以下错误消息:

IIS 服务器错误消息

Web.ConfigIIS 上的元素<system.web>如下所示:

<system.web>
    <compilation targetFramework="4.6.1" />
    <httpRuntime targetFramework="4.5" />
    <authentication mode="None" />
    <authorization>
        <deny users="?" />
    </authorization>
    <httpRuntime requestValidationMode="4.5" />
</system.web>

问题显然是不知何故两者<httpRuntime targetFramework="4.5" /><httpRuntime requestValidationMode="4.5" />被添加到<system.web>. 我的问题是,当部署到我们的开发环境时,我无法弄清楚<httpruntime>标签是如何添加到我的。Web.Config它不会发生在我的本地机器上。我们使用Octopus Deploy作为部署工具(我不确定这是否重要)。

项目Web.Config <system.web>中的看起来像这样

<system.web>
  <compilation debug="true" targetFramework="4.5.2"/>
</system.web>

Web.Release.Config <system.web>看起来像这样

 <system.web>
  <compilation xdt:Transform="RemoveAttributes(debug)" />

  <authentication xdt:Transform="Insert" mode="None" />

  <authorization xdt:Transform="Insert">
    <deny users="?" />
  </authorization>
</system.web>

我不确定项目的哪些部分会对此产生影响,所以我在下面添加。如果我遗漏了任何其他相关部分,请告诉我。

该解决方案包括两个项目。一个 Web 项目和一个类库。类库项目在app.config

<startup>
    <supportedRuntime version="v4.0" sku=".NETFramework,Version=v4.5.2"/>
</startup>

我认为这可能会导致一些问题(基于这篇文章)。

4

0 回答 0