UWP FolderPicker.PickSingleFolderAsync因COMException / E_FAIL而失败

时间:2018-03-08 17:01:58

标签: c# uwp

在我的UWP应用程序中,我有以下代码:

private async void testButton_Click(object sender, RoutedEventArgs e)
{
  var picker = new Windows.Storage.Pickers.FolderPicker();
  StorageFolder folder = await picker.PickSingleFolderAsync();
}

但是当我运行它时,它在第二行失败并显示消息An exception of type 'System.Runtime.InteropServices.COMException' occurred in .... but was not handled in user code。来自例外的HRESULT是-2147467259 = 0x80004005 = E_FAIL。

我已经在应用程序的其他位置使用文件选择器而没有任何问题。这是在Win10桌面上运行(从VS2015启动)。任何人都可以建议为什么错误发生和/或如何解决它?在看似最简单的代码中出现无意义的错误消息,我不确定如何继续。

1 个答案:

答案 0 :(得分:3)

这在WinRT中有点奇怪。虽然文档中没有明确提及,但有必要在FileTypeFilter集合中添加至少一个项目:

var folderPicker = new FolderPicker();
folderPicker.FileTypeFilter.Add("*");
await folderPicker.PickSingleFolderAsync();

您可以使用".jpg"之类的特定扩展程序,但它似乎无法在FolderPicker中生效。唯一重要的是至少存在一个有效项目。