0

我正在尝试将我的工具移动到 powershell,可以在 PowerShell 中完成吗?我真正感兴趣的是:

IEventService es = tfs.GetService(typeof(IEventService)) as IEventService;
List<Subscription> ls = es.GetAllEventSubscriptions().ToList();

编辑:我真正想做的可能是使用 powershell 中的 .NET 程序集,然后这可能是Using .NET library from PowerShell的副本

4

1 回答 1

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 方法进行操作。

于 2012-08-07T19:19:21.523 回答