преобразование web.config не работает при публикации

#asp.net-mvc-3 #publish #web-config-transform

#asp.net-mvc-3 #опубликовать #web-config-transform

Вопрос:

У меня есть решение с несколькими проектами, преобразования работают в других проектах, но не в этом. В чем может быть причина?

Проект представляет собой приложение MVC 4

Диспетчер конфигурации для решения показывает, что когда конфигурация решения активна, она должна использовать ТЕКУЩУЮ конфигурацию для проекта.

Есть Web.config, Web.Live.config, Web.Stage.config

В Web.Live.config у меня есть этот код:

 <?xml version="1.0" encoding="utf-8"?>

<configuration xmlns:xdt="http://schemas.microsoft.com/XML-Document-Transform">

  <system.web>
    <compilation debug="false" xdt:Transform="SetAttributes"></compilation>
  </system.web>

  <system.webServer>
    <rewrite>
      <rules>
        <clear />
        <rule name="Redirect to https" stopProcessing="true">
          <match url="(.*)" />
          <conditions>
            <add input="{HTTPS}" pattern="off" ignoreCase="true" />
          </conditions>
          <action type="Redirect" url="https://{HTTP_HOST}{REQUEST_URI}" redirectType="Permanent" appendQueryString="false" />
        </rule>
      </rules>
    </rewrite>
  </system.webServer>
</configuration>
  

Я публикую его на своем веб-сервере, гарантируя, что конфигурация настроена на работу.

Веб-конфигурация на сервере не содержит преобразований.

Есть идеи?

Ответ №1:

Я решил это, кажется, в этой ситуации мне пришлось добавить xdt:Transform="Insert" в <rewrite> тег.

Я не знаю, зачем мне это нужно, учитывая, что шаблон по умолчанию для преобразованного файла конфигурации содержит разметку, которая вставляет код без такого атрибута, который работает нормально…