Преобразования конфигурации Visual Studio

Предположим, у меня есть такой Web.config:

<configuration>
    <elmah>
        ...
    </elmah>
</configuration>

Можно ли удалить узел ‹elmah› с помощью преобразований конфигурации? До сих пор я пробовал что-то вроде:

<configuration>
    <elmah xdt:Transfrom="RemoveAll"/>
</configuration>

Что не работает (согласно Preview Transform). Хотя этот тип вещей, похоже, работает на других узлах. Кто-нибудь знает, как это можно удалить?

Спасибо


person chris    schedule 07.11.2012    source источник


Ответы (2)


У вас должен быть xdt:Locator, чтобы получить соответствие.

Попробуйте использовать следующее:

Отладка:

<configuration>
    <elmah name="debug" />       
</configuration>

Выпуск:

 <configuration>
        <elmah name="debug" xdt:Locator="Match(name)" xdt:Transform="RemoveAll" />      
    </configuration>

Или без необходимости сопоставления имен:

 <configuration>
            <elmah name="debug" xdt:Locator="XPath(//elmah)" xdt:Transform="RemoveAll" />      
        </configuration>

or

 <configuration>
            <elmah name="debug" xdt:Locator="XPath(configuration/elmah)" xdt:Transform="RemoveAll" />      
        </configuration>

В качестве примечания:

В настоящее время преобразования Web.config применяются только во время конвейера веб-публикации (WPP), который находится в состоянии публикации, а не во время отладки. Чтобы включить их во время отладки, перейдите по следующей ссылке: http://sedodream.com/2010/10/21/ASPNETWebProjectsWebdebugconfigWebreleaseconfig.aspx .

Надеюсь, поможет.

person Matija Grcic    schedule 09.11.2012
comment
Привет, извините за задержку ответа. Очень полезное спасибо, особенно ваше примечание внизу, что является еще одной проблемой здесь. Я предполагал, что эти преобразования были применены, но это не так. - person chris; 23.11.2012
comment
Без проблем. Да, многие разработчики исключают преобразования для работы во время отладки, что не так. Вот почему я добавил небольшую заметку, надеюсь, что это поможет кому-то еще. - person Matija Grcic; 26.11.2012

У вас опечатка в синтаксисе xdt — должно быть xdt:Transform, а не xdt:Transfrom.

person Marius Schulz    schedule 09.11.2012