Проверка WorkItem полей "Простой текст"

У меня есть приложение, которое связывает нашу систему службы поддержки с TFS (один путь от службы поддержки до TFS). Когда я создаю рабочий элемент в TFS, в некоторых ситуациях я получаю ошибку проверки "InvalidCharacters".

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

Это происходит только для одной записи, поэтому я уверен, что это данные, но я не могу понять, какой символ считается недействительным. Есть ли какие-либо рекомендации по поводу того, что вызовет проверку InvalidCharacters в полях "Простой текст"?

2 ответа

Решение

Похоже, что это поле не может отображать расширенные символы ASCII. Был один с акцентом могила (а) в строке, которую я пытался спасти.

-- РЕДАКТИРОВАТЬ --

Это на самом деле стало еще более неприятным. Представление персонажа, когда я сделал ToCharArray() был "а", однако, когда я наконец нашел место в строке, где оно бомбардировалось, реальный символ был односимвольным эллипсом (...). Что, вероятно, было вызвано тем, что кто-то копировал и вставлял из Word в нашу систему поддержки для комментариев.

Моим окончательным разрешением было вращение методом грубой силы через массив символов, заменив любой символ, чье значение int больше 127, чем-то другим (в моем случае это знак вопроса).

Поле 'string' недопустимо, если оно содержит управляющие символы, отличные от новой строки, возврата каретки и табуляции или если оно содержит несовпадающие суррогатные символы. Поля длинного текста (например, открытый текст) принимают все, кроме несоответствующих суррогатных пар. Убедитесь, что ваша копия / вставка приводит к вставке Unicode.

Вы можете использовать функцию Regex, чтобы сжать все пробелы до символа " ", например:

Regex.Replace( text, @"\s+", " " ); 

Хотя это на самом деле лишает вас больше, чем вам технически необходимо, так как оно требует перевода строки, возврата каретки и табуляции.

Надеюсь это поможет!

Другие вопросы по тегам