Ответ 1
Мне пришлось удалить атрибут пространства имен из configuration
node. В объявленной схеме и элементах, которые я использовал, есть определенный конфликт.
xmlns="http://schemas.microsoft.com/.NetConfiguration/v2.0"
Я получаю следующую ошибку при преобразовании файла web.config в TeamCity. Это происходит на элементе, <applicationSettings xdt:Transform="Replace">
.
Ни один элемент в исходном документе не соответствует '/configuration/applicationSettings'
Исходный файл имеет этот параметр. Любая идея, как это решить?
Мне пришлось удалить атрибут пространства имен из configuration
node. В объявленной схеме и элементах, которые я использовал, есть определенный конфликт.
xmlns="http://schemas.microsoft.com/.NetConfiguration/v2.0"
Я хотел бы дать более подробный ответ для других здесь.
В Visual Studio 2010 механизм преобразования web.config не учитывал объявления xmlns. Из-за этого, если ваш источник web.config имел объявление xmlns, и если вы создали преобразование, преобразование не сработало бы. Это связано с тем, что, когда мы выполняем XPath для определения источника, который должен быть заменен, мы не можем найти значение. Чтобы обойти это, вы должны удалить объявление xmlns в исходном web.config, а также преобразование.
С учетом сказанного в Visual Studio 2010 SP1 мы исправили ошибку пространства имен. Таким образом, ваш источник web.config, а также ваша трансформация должны согласовать xmlns, если у него есть другой, он должен иметь это.
Я подозреваю, что вы используете бит pre-SP1, но не уверены. Чтобы убедиться, что поведение не изменилось, если вы обновляетесь до SP1, я рекомендую вам удалить объявление xmlns из вашего исходного web.config, а также ваших преобразований. Xmlns не требуется в файле web.config, поэтому его можно удалить.