Почему это преобразование web.config говорит, что не может найти элемент applicationSettings? - PullRequest
23 голосов
/ 27 июля 2011

Я получаю следующую ошибку при преобразовании файла web.config в TeamCity.Это происходит на элементе <applicationSettings xdt:Transform="Replace">.

Ни один элемент в исходном документе не соответствует '/ configuration / applicationSettings'

Исходный файл имеет эту настройку.Есть идеи, как это решить?

Ответы [ 2 ]

26 голосов
/ 27 июля 2011

Мне пришлось удалить атрибут пространства имен из узла configuration.Существует конфликт между объявленной схемой и элементами, которые я использовал.

xmlns="http://schemas.microsoft.com/.NetConfiguration/v2.0"
17 голосов
/ 29 июля 2011

Я хотел бы дать более подробный ответ для других здесь.

В Visual Studio 2010 механизм преобразования web.config не соблюдал объявления xmlns.Из-за этого, если ваш исходный файл web.config имеет объявление xmlns, и если вы создали преобразование, преобразование не будет работать.Это потому, что когда мы выполняем XPath для определения источника, который должен быть заменен, мы не можем найти значение.Чтобы обойти это, вы должны удалить объявление xmlns в исходном файле web.config, а также преобразование.

С учетом сказанного в Visual Studio 2010 SP1 мы исправили пространство именошибка.Таким образом, ваш исходный файл web.config, а также ваше преобразование должны согласовать xmlns, если у одного он есть, у другого тоже должен быть его.,Чтобы гарантировать, что поведение не изменится при обновлении до SP1, я рекомендую удалить объявление xmlns из вашего исходного файла web.config, а также ваши преобразования.Xmlns не требуется в файле web.config, поэтому его безопасно удалить.

...