【发布时间】:2018-12-04 05:23:29
【问题描述】:
我正在尝试通过完整路径(比“我的查询”/“共享查询”更深)和查询名称访问已保存的 TFS 查询。
该场景是用户可以将路径添加到他们的团队目录,并将他们的工作项查询的名称添加到配置 xml 文件中。我读取了 xml 并获取了数据。
示例 XML
<Teams>
<Team name ="MyTeam">
<Query project="MyProj" queryfolder="Shared Queries/blah/blah2/MyTeamFolder" queryName="MyTeams WorkItems - All Workitems"/>
</Team>
</Teams>
我希望使用“queryfolder”和“queryName”在 TFS 中查找查询 到目前为止,我所拥有的适用于根目录(“我的查询”/“共享查询”),但我无法弄清楚如何让某些东西适用于更深层次的路径。
这不起作用:
QueryHierarchy queryRoot = workItemStore.Projects["MyProj"].QueryHierarchy;
QueryFolder folder = (QueryFolder)queryRoot["Shared Queries/blah/blah2/MyTeamFolder"];
QueryDefinition query = (QueryDefinition)folder["MyTeams WorkItems - All Workitems"];
string queryResults = query.QueryText;
这将在查找文件夹时出错QueryFolder folder = (QueryFolder)queryRoot[".."]
带有KeyNotFoundException
使用“共享查询”或“我的查询”更改文件夹,它能够找到该文件夹,但在尝试按其名称查找查询时会出现相同的异常。正如预期的那样,如果查询位于根文件夹(共享/我的查询)中,它可以正常工作。
那么,除了根文件夹之外,我该如何进行更深入的搜索呢?
(到目前为止,所有互联网搜索都只找到了使用根文件夹的示例)
【问题讨论】: