現在も試行錯誤で使っていますが、以前作成した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}`""