我正在尝试将我的工具移到powershell,可以在powershell中完成this吗?我真正感兴趣的是:
IEventService es = tfs.GetService(typeof(IEventService)) as IEventService;
List<Subscription> ls = es.GetAllEventSubscriptions().ToList();
欢呼声
编辑:我真正想做的可能是使用PowerShell的.NET程序集,这可能是Using .NET library from PowerShell
的副本答案 0 :(得分:1)
这是我很久以前在博客上找到的PowerShell函数中的TFS API,可以帮助您入门。我把它发布到了GitHub Gist。基本上,您确保已将TFS程序集加载到AppDomain中,然后您可以将所需的任何TFS服务接口添加到对象中,并像在任何c#应用程序中一样操作它们。
https://gist.github.com/3288447
从上面的Gist中的方法返回TFS对象后,您可以对加载的服务进行操作,如下所示:
#use work item service
$tfs = get-tfs $env:TFSSERVERURL -silent
$project = $tfs.wit.Projects | ?{ $_.Name -eq $projectName}
#todo - replace with text for query or file read -- this is deprecated
$query = $project.StoredQueries | ?{ $_.Name -eq 'Active Bugs' }
$queryText = $query.QueryText.Replace("@project","'$projectName'")
$results = $tfs.wit.Query($queryText)
#do something with the results...
在上面的请求中,你可以改变get-tfs方法,将你的服务接口添加到加载的集合中,然后对.NET方法进行操作,就像我在上面的例子中一样。