如何避免在部署时将httpruntime标记添加到web.config

时间:2017-03-27 09:59:17

标签: asp.net-mvc iis web-config web-config-transform httpruntime

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

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

IIS server error message

IIS上的Web.Config的{​​{1}}元素如下所示:

<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>的。它不会发生在我的本地计算机上。我们使用Octopus Deploy作为部署工具(我不确定这是否重要)。

项目中的Web.Config Web.Config看起来像这样

<system.web>

<system.web> <compilation debug="true" targetFramework="4.5.2"/> </system.web> Web.Release.Config看起来像这样

<system.web>

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

解决方案包括两个项目。 Web项目和类库。类库项目在 <system.web> <compilation xdt:Transform="RemoveAttributes(debug)" /> <authentication xdt:Transform="Insert" mode="None" /> <authorization xdt:Transform="Insert"> <deny users="?" /> </authorization> </system.web>

中有这个
app.config

我认为可能会导致一些问题(基于this article)。

0 个答案:

没有答案