最近在更改之前一个老的解决方案代码,在按钮调用插件,插件中在执行解决方案的导入发布时碰到了如下错误
乍看这错误看不出啥名堂,那就抓个日志看下吧,提示如下图红框所示,在解析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,问题解决。