#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>
тег.
Я не знаю, зачем мне это нужно, учитывая, что шаблон по умолчанию для преобразованного файла конфигурации содержит разметку, которая вставляет код без такого атрибута, который работает нормально…