非同期で作成したフォルダーを削除しようとすると問題が発生します。Visual Studio Express はこれが存在しないと主張しているため、System.IO.File を使用して同期的に削除することはできないようです。DeleteAsync() を使用すると、フォルダーは問題なく削除されますが、FileNotFoundException もスローされます。これは、フォルダーが正常に削除されたとしても、プログラムが失敗する原因となるため問題です。何日も問題を抱えています。
このようにフォルダを初期化しました
StorageFolder zip_contents_folder = await ApplicationData.Current.LocalFolder.CreateFolderAsync("Zip Contents", CreationCollisionOption.ReplaceExisting);
そして、zipファイルを解凍した後、後で使用して削除します
try
{
await zip_contents_folder.RenameAsync("trashfile2.xml", NameCollisionOption.GenerateUniqueName);
await zip_contents_folder.DeleteAsync();
}
catch (Exception e_deletezipfolder)
{
System.Diagnostics.Debug.WriteLine(e_deletezipfolder.ToString());
}
編集: これはコンソールへの出力です。サードパーティの DLL がロードされた直後に発生しています
'Indigo.exe' (Managed (v4.0.30319)): Loaded 'D:\Skydrive\Visual Studio Projects\eBook\Indigo\bin\Debug\AppX\Ionic.Zip.DLL' タイプ 'System. mscorlib.dll で IO.FileNotFoundException が発生しました mscorlib.dll で 'System.IO.FileNotFoundException' 型の最初の例外が発生しました mscorlib.dll で 'System.IO.DirectoryNotFoundException' 型の最初の例外が発生しましたタイプ 'System.IO.DirectoryNotFoundException' が mscorlib.dll で発生しました
この問題の回避策を知っている人はいますか?