在TFS中用WIQL查询工作项时遇<<)>>触发Expecting end of string错误
解决WIQL查询TFS工作项时的“Expecting end of string”错误
嘿,这个错误我之前排查过好多次,大概率是WIQL查询里的语法不匹配或者多余的无效字符(就是你提到的<<)>>)搞的鬼!给你几个具体的排查和解决步骤:
- 先干掉无效字符:你提到的
<<)>>绝对是问题源头——这明显是输入手误或者粘贴时带进来的无效符号,直接把它从查询里删掉,这是最直接的第一步。 - 检查括号配对情况:WIQL对括号的要求特别严格,
Expecting end of string很多时候都是因为多写了右括号),或者某个左括号(没有对应的闭合括号。比如你可能写了类似这样的错误语句:
这里末尾多了一个SELECT [System.Id], [System.Title] FROM WorkItems WHERE ([System.State] = 'Active'))),就会触发这个错误,把多余的括号删掉就好。 - 分步调试复杂查询:如果你的查询逻辑比较复杂,别一次性写完就运行。先写最基础的
SELECT+FROM语句,确认能正常返回结果后,再逐步添加WHERE条件、分组或排序语句,每加一段就测试一次,这样能快速定位到哪一行的语法出了问题。 - 借助可视化工具辅助:如果手动写WIQL容易出错,不妨先用TFS Web界面里的查询构建器生成基础查询结构,再根据需求手动调整语法——可视化工具会自动帮你处理括号配对这些细节,能减少很多低级错误。
举个修正后的正确WIQL例子参考:
SELECT [System.Id], [System.Title], [System.State] FROM WorkItems WHERE [System.TeamProject] = '你的项目名' AND [System.WorkItemType] = 'Bug'
内容的提问来源于stack exchange,提问作者user8887761
相关产品推荐
相关产品推荐

