C# WinRT RemovableDevices:音乐文件夹:无法在此存储文件夹中创建项目

C# WinRT RemovableDevices:音乐文件夹:无法在此存储文件夹中创建项目,c#,windows-runtime,storage,removable,C#,Windows Runtime,Storage,Removable,我正在尝试使用WinRT将我的音乐收藏从NAS系统同步到我的Windows Phone设备。 要在手机的音乐文件夹中创建文件夹,我使用以下代码段: StorageFolder DeviceFolder = ( await KnownFolders.RemovableDevices.GetFoldersAsync() ).FirstOrDefault( a => a.Name == "zeroskyx-lumia" ); StorageFolder PhoneMusicFolder = aw

我正在尝试使用WinRT将我的音乐收藏从NAS系统同步到我的Windows Phone设备。 要在手机的音乐文件夹中创建文件夹,我使用以下代码段:

StorageFolder DeviceFolder = ( await KnownFolders.RemovableDevices.GetFoldersAsync() ).FirstOrDefault( a => a.Name == "zeroskyx-lumia" );
StorageFolder PhoneMusicFolder = await DeviceFolder.GetFolderAsync( @"Phone\Music" );
await DeviceFolder.CreateFolderAsync( @"Phone\Music\Test" );
我希望在Phone\Music中创建新文件夹测试。但是,会引发以下异常:

System.AggregateException:发生一个或多个错误。--> System.Runtime.InteropServices.ComeException:无法指定错误 在此StorageFolder中创建项目。如果 该文件夹是通过使用分组选项创建查询获得的。 在System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccessTask 任务在 System.Runtime.CompilerServices.TaskWaiter.HandleNonSuccessAndDebuggerNotificationTask 任务

当我在Phone\Music中手动创建文件夹,然后使用代码段在该文件夹中创建子目录时,操作会成功,因此不会出现缺少WinRT broker清单的问题

有人也遇到过同样的问题吗?我做错了什么

致以最良好的问候和感谢


-Simon

据我所知,Windows API不允许您通过“完整路径”创建文件夹,例如为我创建\all\this\subfolders\for\me mkdir-p linux等效文件

要使代码段正常工作,首先需要获取表示电话/音乐子文件夹的StorageFolder,然后从中创建文件夹,如:

StorageFolder DeviceFolder = ( await KnownFolders.RemovableDevices.GetFoldersAsync() ).FirstOrDefault( a => a.Name == "zeroskyx-lumia" );
StorageFolder PhoneMusicFolder = await DeviceFolder.GetFolderAsync( @"Phone\Music" );
await PhoneMusicFolder.CreateFolderAsync( "Test" );