[英]Get work item store from Tfs using powershell
如何使用PowerShell從TFS獲取WorkItemStore?
我嘗試過以下方法:
function get-tfs {
param(
[string] $ServerName = "http://MyServer:8080/tfs"
)
begin{}
process
{
[psobject] $tfs = [Microsoft.TeamFoundation.Client.TeamFoundationServerFactory]::GetServer($serverName)
return $tfs
}
end{}
}
[Reflection.Assembly]::LoadFrom("C:\Program Files (x86)\Microsoft Visual Studio 10.0\Common7\IDE\ReferenceAssemblies\v2.0\Microsoft.TeamFoundation.WorkItemTracking.Client.dll")
上面的代碼執行正常,我有$ tfs的值。
然后我這樣做:
$wis = $tfs.GetService([Microsoft.TeamFoundation.WorkItemTracking.Client.WorkItemStore])
但是$ wis是空的。 如果我這樣做,同樣的事情:
$wis = $tfs.TfsTeamProjectCollection.GetService([Microsoft.TeamFoundation.WorkItemTracking.Client.WorkItemStore])
此外,如果我這樣做,powershell說它找不到程序集'Microsoft.TeamFoundation.WorkItemTracking.Client',即使它剛剛發現它並在一秒前加載它:Add-Type -AssemblyName Microsoft.TeamFoundation.WorkItemTracking.Client
我不明白為什么它發現裝配然后突然找不到它。
我究竟做錯了什么?
這樣的東西適合我:
function get-tfs
{
param([string] $ServerName = "http://myserver:8080/tfs")
$binpath = "C:\Program Files (x86)\Microsoft Visual Studio 12.0\Common7\IDE\ReferenceAssemblies\v2.0"
Add-Type -path "$binpath\Microsoft.TeamFoundation.Client.dll"
Add-Type -Path "$binpath\Microsoft.TeamFoundation.WorkItemTracking.Client.dll"
$creds = New-Object Microsoft.TeamFoundation.Client.UICredentialsProvider
$teamProjectCollection = New-Object Microsoft.TeamFoundation.Client.TfsTeamProjectCollection $ServerName,$creds
$ws = $teamProjectCollection.GetService([Microsoft.TeamFoundation.WorkItemTracking.Client.WorkItemStore])
return $ws
}
我在使用Powershell嘗試獲取WorkItemStore時遇到了問題。 需要克隆PBI並克隆任務。 發現這個.Net soln。 像魅力一樣工作! 實際上不得不在History null異常周圍添加一個try catch,但在那之后,bam!
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.