トップ回答者
Visual Studio 2015 Installer の File System 上で[ファイルを含むフォルダーの一括削除方法

質問
回答
-
こちらでも再現しました。削除しようとしたフォルダの中にファイルまたはフォルダがある場合、上記のようなエラーメッセージが表示されました。エラーメッセージ(MessageBoxで表示されているもの)はCtrl+Cでエラー内容をクリップボードへコピーできます。
エラー内容でGoogle検索してみたところ下記の投稿が見つかりました。
Delete multiple directory in file system
問題の解決の方法に*.vdprojをテキストエディタで編集する方法が紹介されています。(UIで行える標準的な方法はない模様・・・マクロなどを使えば可能?)
以下まとめてみました。
1.まず、プロジェクトフォルダごと全バックアップを取る(編集を間違えるとプロジェクトファイルが壊れてしまう可能性があるので・・・)
2.Visual Studio上で削除したいフォルダの名前をプロジェクトの中で一意になるように変更する(例えば「XXXX」など
※また、できればそのフォルダ以下に含まれているファイルをソリューションエクスプローラー上で削除する。3.Visual Studioでプロジェクトを保存して、Visual Studioを終了させます。
4.テキストエディタで*.vdprojを開き、2でリネームしたフォルダ名「XXXX」を検索する。
"{9EF0B969-E518-4E46-987F-47570745A589}:_ED18EFB43C8D4F3F8EF5C363F69486CC" { "Name" = "8:XXXX" "AlwaysCreate" = "11:FALSE" "Condition" = "8:" "Transitive" = "11:FALSE" "Property" = "8:_D22AB8534FAF444AA946BEF11D10F520" "Folders" { "{9EF0B969-E518-4E46-987F-47570745A589}:_B955792F6E444F79BFBB5C6B013E0375" { "Name" = "8:SubFolder" "AlwaysCreate" = "11:FALSE" "Condition" = "8:" "Transitive" = "11:FALSE" "Property" = "8:_22164FBC13C64308A232179D2B5CB2EE" "Folders" { ・・・ } ・・・ } } }
2.の※ができた場合は、上記のコードを丸ごと削除する。
2.の※ができなかった場合は、XXXXとそのサブフォルダに含まれているファイル参照をすべて削除する必要があります。
上記の”_ED18EFB43C8D4F3F8EF5C363F69486CC”がXXXXに含まれるファイルを結びつけるIDになるので
そのIDで*.vdprojを再検索してのファイル参照を削除します。例えば以下の部分を削除します。
"{1FB2D0AE-D3B9-43D4-B9DD-F88EC61E35DE}:_1832FEA9250F4227A64A40B4D9DF9B1E" { "SourcePath" = "8:SubFolder\\SampleFile01.txt" "TargetName" = "8:SampleFile01.txt" "Tag" = "8:" "Folder" = "8:_ED18EFB43C8D4F3F8EF5C363F69486CC" "Condition" = "8:" "Transitive" = "11:FALSE" "Vital" = "11:TRUE" "ReadOnly" = "11:FALSE" "Hidden" = "11:FALSE" "System" = "11:FALSE" "Permanent" = "11:FALSE" "SharedLegacy" = "11:FALSE" "PackageAs" = "3:1" "Register" = "3:1" "Exclude" = "11:FALSE" "IsDependency" = "11:FALSE" "IsolateTo" = "8:" }
この手順でXXXXとそのサブフォルダの中のファイル参照もすべて削除します。その後改めて4.の初めの手順でXXXXフォルダを削除。
5.フォルダXXXXに含まれるフォルダとファイル参照をすべて削除したら*.vdprojを保存して、Visual Studioで開きます。エラーが表示されたら何か編集が間違っていたということです。
- 編集済み kenjinoteMVP 2016年2月27日 9:07
- 回答としてマーク yusuke_jp 2016年2月29日 1:59
すべての返信
-
こちらでも再現しました。削除しようとしたフォルダの中にファイルまたはフォルダがある場合、上記のようなエラーメッセージが表示されました。エラーメッセージ(MessageBoxで表示されているもの)はCtrl+Cでエラー内容をクリップボードへコピーできます。
エラー内容でGoogle検索してみたところ下記の投稿が見つかりました。
Delete multiple directory in file system
問題の解決の方法に*.vdprojをテキストエディタで編集する方法が紹介されています。(UIで行える標準的な方法はない模様・・・マクロなどを使えば可能?)
以下まとめてみました。
1.まず、プロジェクトフォルダごと全バックアップを取る(編集を間違えるとプロジェクトファイルが壊れてしまう可能性があるので・・・)
2.Visual Studio上で削除したいフォルダの名前をプロジェクトの中で一意になるように変更する(例えば「XXXX」など
※また、できればそのフォルダ以下に含まれているファイルをソリューションエクスプローラー上で削除する。3.Visual Studioでプロジェクトを保存して、Visual Studioを終了させます。
4.テキストエディタで*.vdprojを開き、2でリネームしたフォルダ名「XXXX」を検索する。
"{9EF0B969-E518-4E46-987F-47570745A589}:_ED18EFB43C8D4F3F8EF5C363F69486CC" { "Name" = "8:XXXX" "AlwaysCreate" = "11:FALSE" "Condition" = "8:" "Transitive" = "11:FALSE" "Property" = "8:_D22AB8534FAF444AA946BEF11D10F520" "Folders" { "{9EF0B969-E518-4E46-987F-47570745A589}:_B955792F6E444F79BFBB5C6B013E0375" { "Name" = "8:SubFolder" "AlwaysCreate" = "11:FALSE" "Condition" = "8:" "Transitive" = "11:FALSE" "Property" = "8:_22164FBC13C64308A232179D2B5CB2EE" "Folders" { ・・・ } ・・・ } } }
2.の※ができた場合は、上記のコードを丸ごと削除する。
2.の※ができなかった場合は、XXXXとそのサブフォルダに含まれているファイル参照をすべて削除する必要があります。
上記の”_ED18EFB43C8D4F3F8EF5C363F69486CC”がXXXXに含まれるファイルを結びつけるIDになるので
そのIDで*.vdprojを再検索してのファイル参照を削除します。例えば以下の部分を削除します。
"{1FB2D0AE-D3B9-43D4-B9DD-F88EC61E35DE}:_1832FEA9250F4227A64A40B4D9DF9B1E" { "SourcePath" = "8:SubFolder\\SampleFile01.txt" "TargetName" = "8:SampleFile01.txt" "Tag" = "8:" "Folder" = "8:_ED18EFB43C8D4F3F8EF5C363F69486CC" "Condition" = "8:" "Transitive" = "11:FALSE" "Vital" = "11:TRUE" "ReadOnly" = "11:FALSE" "Hidden" = "11:FALSE" "System" = "11:FALSE" "Permanent" = "11:FALSE" "SharedLegacy" = "11:FALSE" "PackageAs" = "3:1" "Register" = "3:1" "Exclude" = "11:FALSE" "IsDependency" = "11:FALSE" "IsolateTo" = "8:" }
この手順でXXXXとそのサブフォルダの中のファイル参照もすべて削除します。その後改めて4.の初めの手順でXXXXフォルダを削除。
5.フォルダXXXXに含まれるフォルダとファイル参照をすべて削除したら*.vdprojを保存して、Visual Studioで開きます。エラーが表示されたら何か編集が間違っていたということです。
- 編集済み kenjinoteMVP 2016年2月27日 9:07
- 回答としてマーク yusuke_jp 2016年2月29日 1:59