Как программно добавить NewLines в текстовое поле рабочего элемента TFS?
У меня есть веб-система, которая имеет несколько хуков в нашей системе рабочих элементов TFS. Одна из вещей, которые я пытаюсь сделать, заключается в том, что когда выполняется определенное действие, он берет текущий текст в одном поле и делает комментарий в поле "Общие комментарии", объявляя, что поле было ранее (Да, я знаю, история содержит это, но более высокие взлеты хотят этого в комментариях генерала).
У меня проблема в том, что TFS игнорирует Environment.NewLines, которые есть в моей строке. Итак, с этим кодом:
item.Fields[GENCOMMENTS].Value = string.Concat(DateTime.Now.ToShortDateString()
, " - QA Dashboard - Required By Date Reason set to \"Hotfix\", but previously contained \""
, item.Fields[REQBYDTREASON].Value.ToString()
, "\"."
, Environment.NewLine
, Environment.NewLine
, Environment.NewLine
, item.Fields[GENCOMMENTS].Value.ToString());
Итак, предположим, что мой общий раздел комментариев содержит:
THIS SENTENCE WAS ALREADY IN GENERAL COMMENTS
Я получаю следующий вывод в разделе общих комментариев при сохранении рабочего элемента
9/29/2010 - QA Dashboard - Required By Date Reason set to "Hotfix", but previously contained "hotfixtest".THIS SENTENCE WAS ALREADY IN GENERAL COMMENTS
Почему игнорируются новые строки и как я могу получить новую строку в рабочем элементе?
Спасибо,
2 ответа
Содержимое рабочего элемента TFS часто обрабатывается как HTML. Это, вероятно, происходит здесь, и, следовательно, он игнорирует посторонние строки в тексте. Попробуйте обернуть содержимое в <pre>
блокировать или использовать <p>
и посмотрите, решит ли это проблему.
Элементы управления RTF или HTMl будут использовать и отображать HTML-разметку - так зависит от элемента управления. Попробуйте добавить и отформатировать форматированный текст в многострочном элементе управления, а затем отладить его в консольном приложении - просмотрите значение поля - вы увидите HTML-теги.