2011-02-24 113 views
1

我有一個將我們的幫助臺系統與TFS橋接的應用程序(從幫助臺到TFS的一種方式)。當我在TFS中創建工作項目時,在某些情況下,我收到「InvalidCharacters」驗證錯誤。「純文本」字段的WorkItem驗證

我正在使用的字段是標準「描述」字段,它在工作項定義中定義爲「純文本」。

這隻發生在一個記錄上,所以我確定它是數據,但我無法弄清楚什麼字符被認爲是無效的。有什麼指導什麼會觸發「純文本」字段上的InvalidCharacters驗證?

回答

2

看起來這個字段無法顯示擴展的ASCII字符。在我試圖保存的字符串中有一個帶有重音符號(à)的字符。

- 編輯 -

這實際上變得更加沮喪。當我做ToCharArray()時,字符表示是「à」,但是當我最終找到了它正在轟炸的字符串中的點時,實際字符是單字符省略號(...)。這可能是由某人從Word複製並粘貼到我們的幫助臺系統中進行評論引起的。

我的最終解決方案是通過char數組旋轉,用其他東西(在我的例子中是一個問號)替換int值大於127的任何字符。

0

如果字符串字段包含除換行符,回車符和製表符以外的控制字符,或者它包含不匹配的代理字符,則該字段無效。長文本字段(如明文)接受除了不匹配的代理對之外的所有內容。確保你的複製/粘貼時產生的Unicode被粘貼在

您可以使用正則表達式功能的所有空白向下壓縮到一個「」字,像這樣的:

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

雖然實際比你在技術上需要的更多,因爲它取出換行符,回車符和標籤。

希望這會有所幫助!