ccnet自带的vsts插件解析tfs的变更集输出用的是下面的正则表达式
Regex parser = new Regex(@"Changeset:[ \t](?<changenumber>[0-9]*)\r\nUser:[ \t](?<author>.*)\r\nDate:[ \t](?<date>.*)\r\n\r\nComment:(?<comment>(?:\r\n.*)*)\r\n\r\nItems:(?<items>(?:\r\n.*)*)\r\n\r\n");
但实际上tfs中文版的输出是这样的
变更集:
用户:
日期:
注释:
项:
解析起来就出问题了。
补充:有的环境tf.exe的输出会出现乱码,这是因为cc.net把编码hardcode为utf8了,可以设置processInfo的StreamEncoding来修改默认编码格式,例如:
processInfo.StreamEncoding = Encoding.GetEncoding("gb2312");