現在も試行錯誤で使っていますが、以前作成したTeam Projectプロジェクトの残骸が残っていました。
非常に気持ちが悪かったため、Team Projectの削除方法を調べた結果をメモ。
また、PowerShellから削除するサンプルを作ってみました。
Visual Studio OnlineのTeam Projectを削除する方法
- C:\Program Files (x86)\Microsoft Visual Studio 11.0\Common7\IDEへ移動
- 下記実行ファイルを引数付きで実行
.\TFSDeleteProject.exe /force /q /collection:http://xxxx.visualstudio.com/DefaultCollection “ProjectName”
/force | 強制削除 |
/q | 確認用のメッセージを非表示 |
/excludewss | 削除対象からプロジェクトの SharePoint サイトを除外 |
/collection: | チーム プロジェクト コレクションのURL |
- 削除権限は、Team Foundation Server管理者グループのメンバー、または、プロジェクト管理者グループのメンバー
- 削除後、Team Projectを復元できない
PowerShell サンプル
Team Projectを削除するツールをPowerShellで作ってみました。<# ------------------------------------------------------------------- 【 PS名 】 Visual Studio Online プロジェクト削除ツール ------------------------------------------------------------------- #> [string]$tfsDelExecFolderX64 = "C:\Program Files (x86)\Microsoft Visual Studio 11.0\Common7\IDE" [string]$tfsDelExecFolderX86 = "C:\Program Files\Microsoft Visual Studio 11.0\Common7\IDE" [string]$tfsDelExec = "" [string]$tfsDelExecName = "TFSDeleteProject.exe" [string]$siteUrl = https://xxxx.visualstudio.com/ [string]$siteCollectionName = "DefaultCollection" [string]$delProjectName = "" [string]$osArchitecture = (get-wmiobject win32_operatingsystem -computer localhost).OSArchitecture $tfsDelExec = $tfsDelExecFolderX86 if($osArchitecture.indexOf("64") -eq 0){ $tfsDelExec = $tfsDelExecFolderX64 } $tfsDelExec += "\$tfsDelExecName" $delProjectName = Read-Host @" ※注意※ 1.プロジェクトを削除すると復元は行えません。 2.SharePoint サイトも同時に削除します。 予めご了承のうえ、実行してください。 --------------------------------- 削除するプロジェクト名: "@ #MessageBox.Showの第三引数は[OK Cancel]の1です。 $output = [System.Windows.Forms.MessageBox]::Show("プロジェクト名「$delProjectName」を本当に削除しますか?", "削除確認", 1) if($output -eq "Cancel"){ Write-Host "処理を中止しました。" exit } #Project と SharePoint サイトを同時に削除 & $tfsDelExec "/force" "/q" "/collection:$siteUrl/$siteCollectionName" "`"${delProjectName}`"" #Project のみ削除 #& $tfsDelExec "/force" "/q" "/excludewss" "/collection:$siteUrl/$siteCollectionName" "`"${delProjectName}`""