Dynamics CRM 執行ImportSolutionRequest匯入解決方案報十六進位制值是無效的字元的問題

vic0228發表於2017-12-19

     最近在更改之前一個老的解決方案程式碼,在按鈕呼叫外掛,外掛中在執行解決方案的匯入釋出時碰到了如下錯誤


    乍看這錯誤看不出啥名堂,那就抓個日誌看下吧,提示如下圖紅框所示,在解析XAML時遇到十六進位制字串


     順著這個思路查詢,發現在解析xml時需要過濾低位非列印字元,只要過濾下就好了方法如下

 private string ReplaceLowOrderASCIICharacters(string tmp)
        {
            StringBuilder builder = new StringBuilder();
            foreach (char ch in tmp)
            {
                int num = ch;
                if ((((num >= 0) && (num <= 8)) || ((num >= 11) && (num <= 12))) || ((num >= 14) && (num <= 32)))
                {
                    builder.AppendFormat(" ", num);
                }
                else
                {
                    builder.Append(ch);
                }
            }
            return builder.ToString();
        }
     OK,問題解決。


相關文章