2013-06-27 2 views
0

У нас есть сайт, созданный в VS 2012. Мы щелкнули правой кнопкой мыши наш файл web.config и выбрали 'Add Config Transform' и создали версии Release и Debug web.config.Преобразование web.config не работает правильно

В них мы добавили некоторые новые записи в разделе <appSettings> как в нашей Debug и Release версии web.config:

<appSettings> 
    <add key="username" value="user" xdt:Transform="Insert" xdt:Locator="Match(key)"/> 
    <add key="password" value="pwd" xdt:Transform="Insert" xdt:Locator="Match(key)"/> 
    <add key="GET" value="https://somewhere.com/url1" xdt:Transform="Insert" xdt:Locator="Match(key)"/> 
    <add key="POST" value="https://somewhere.com/url2" xdt:Transform="Insert" xdt:Locator="Match(key)"/> 

    </appSettings> 

Мы экспериментировали с различными типами преобразования, в том числе «Insert» и «SetAttribute ». До сих пор ни один из них не дал желаемого результата добавления этих новых записей appSettings в web.config после сборки.

Нужно ли вводить записи-заполнители для них в web.config, или есть еще один шаг назад к этому, мы не хватает?

[Изменить] приведенные выше настройки приложения содержатся в элементе <configuration> в версиях отладки и выпуска web.config.

ответ

1

Я предполагаю, что вставка и локатор не работают вместе. Если вы делаете Insert, вы не пытаетесь его сопоставить ни с чем. Если вы пытаетесь выполнить замену или установить некоторые атрибуты, вам нужно будет выполнить сопоставление Locator. Если вы делаете вставку, вам не нужно искать что-то (используя локатор), так как оно является нетребовательным.

В двух словах, если это новая запись, оставьте Insert, drop Locate.

Имеют смысл?