“Обнаружен дублирующий узел” в CruiseControl.Файл конфигурации сети
-
03-07-2019 - |
Вопрос
Когда я запускаю CruiseControl.NET с определенным файлом конфигурации я получаю следующую ошибку:
ThoughtWorks.CruiseControl.Core.Config.Исключение ConfigurationException:Обнаружен дублирующий узел
Что это значит и чем это вызвано?
Решение
Я думаю, что у вас есть 2 узла в вашей конфигурации, где ожидался только один.Есть ли какой-нибудь шанс, что вы могли бы опубликовать конфигурационный файл, в котором он создает исключение, здесь в качестве дополнительной информации?В настоящее время я использую cruisecontrol (не версию .net) и нахожу, что он может быть очень придирчивым к своим XML-файлам (и это правильно), но ничего не говорит вам о том, откуда в файле были созданы исключения.
Другие советы
Я обнаружил, что у меня был неправильно структурированный конфигурационный файл.В частности, некоторые блоки находились за пределами раздела конфигурации.Ошибка указывала на второй из этих разделов exec - очевидно, ему не понравилось, что внутри проекта было больше одного данного раздела.
Таким образом, ошибка произошла из-за конфигурационного файла, подобного этому:
<project> <tasks> ... </tasks> <exec>...</exec> <exec>...</exec> <project>
В моем случае у меня было что-то вроде:
<task>...</task> <sourceControls>...</sourceControls> <task>...</task> <publishers>...</publishers>
Эти двое ему не понравились ".<task>" узлы, поэтому я исправил это , удалив первый "<task>" узел.Я пытался сделать кое-что перед получением последней версии от svn, а затем выполнить сборку после этого во втором "<task>" узел.Мне нужно будет еще раз подумать, как это сделать ... Есть предложения?