0

Config section 'System.web/httpRuntime' already definedアプリケーションを開発環境にデプロイすると、エラーが発生します。

展開後Authentication、IIS サーバー管理の概要でボタンを押すと、次のエラー メッセージが表示されます。

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>

プロジェクトのどの部分がこれに影響を与えるか分からないので、以下に追加します。他に関連する部分を省略した場合はお知らせください。

このソリューションは 2 つのプロジェクトで構成されています。Web プロジェクトとクラス ライブラリ。クラス ライブラリ プロジェクトには、次のファイルがありapp.configます。

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

これが問題の一部を引き起こしている可能性があると思います(この記事に基づく)。

4

0 に答える 0