2016-05-13 9 views
0

У меня есть простой XMLКорневой элемент отсутствует при преобразовании простой конфигурации с Вытащите

<?xml version="1.0"?> 
<rootElement> 
... 
</rootElement> 

И я преобразуя его:

<?xml version="1.0"?> 
<rootElement xmlns:xdt="http://schemas.microsoft.com/XML-Document-Transform" xdt:Transform="Remove"> 
... 
</rootElement> 

И тогда я получаю это исключение во время сборки:

Exception while replacing configuration-variables in: D:\...\rootelement.config 
17:52:12Error 
System.Xml.XmlException: Root element is missing. 
at System.Xml.XmlTextReaderImpl.Throw(Exception e) 
17:52:12Error 
    at System.Xml.XmlTextReaderImpl.ParseDocumentContent() 
17:52:12Error 
    at System.Xml.Linq.XContainer.ReadContentFrom(XmlReader r) 
17:52:12Error 
    at System.Xml.Linq.XContainer.ReadContentFrom(XmlReader r, LoadOptions o) 
17:52:12Error 
    at System.Xml.Linq.XDocument.Load(XmlReader reader, LoadOptions options) 
17:52:12Error 
    at Calamari.Integration.ConfigurationVariables.ConfigurationVariablesReplacer.ReadXmlDocument(String configurationFilePath) in Y:\work\14ffc968155e4956\source\Calamari\Integration\ConfigurationVariables\ConfigurationVariablesReplacer.cs:line 62 

Примечание. У меня есть около 10 других подобных конфигурационных файлов, которые без проблем преобразуются, но это единственный, который делает " Удалить "вместо" Заменить ", поэтому я подозреваю, что это может быть проблемой.

Кроме того, когда я просмотреть преобразование локально она отлично работает, так что, возможно, это проблема с Octopus разворачивать и что «Кальмары» библиотека

+0

Что именно вам нужно? Вы хотите, чтобы окончательный файл XML был полностью пуст? В этом случае вы можете оставить свою исходную конфигурацию пустой, а также трансформацию пустой. Если все остальные преобразования не заменят, я не понимаю, почему это не сработает. Хотя ваша проблема кажется ошибкой в ​​calamari. –

+0

У меня есть причины, чтобы иметь эту структуру, и моя проблема в том, что «предварительный просмотр» отлично работает, а преобразование его с помощью задачи сборки работает отлично, но Calamari падает. Кажется, что ошибка с Calamari – Nick

+0

Я поднял запрос об ошибке с командой Octopus: https://github.com/OctopusDeploy/Issues/issues/2513 – Nick

ответ

1

XML документы требуют корневого элемента, поэтому результаты преобразования в недействительном документе XML.

Эта ошибка возникает после преобразования, когда Octopus пытается заменить переменные в файле. Документ XML недействителен, поэтому его нельзя загрузить.

Преобразование должно быть изменено так, чтобы оно приводило к действительному XML-документу.

Смежные вопросы