UWP FolderPicker.PickSingleFolderAsync失败,出现COMException / E_FAIL

Stu*_*use 3 c# uwp

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

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

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

我已经在应用程序的其他地方使用文件选择器了,没有问题。它运行在Win10桌面上(从VS2015启动)。谁能建议错误发生的原因和/或解决该问题的方法?在看起来可能是最简单的代码中出现了毫无意义的错误消息,我不确定该如何进行。

Mar*_*und 5

这在WinRT中有点奇怪。尽管未在文档中明确提及,但有必要在FileTypeFilter集合中添加至少一项:

var folderPicker = new FolderPicker();
folderPicker.FileTypeFilter.Add("*");
await folderPicker.PickSingleFolderAsync();
Run Code Online (Sandbox Code Playgroud)

您可以使用特定的扩展名,例如".jpg",但FolderPicker无论如何似乎都没有效果。唯一重要的是至少存在一个有效项目。

  • 哎呀,这是晦涩的 - 多么糟糕的错误消息。它确实解决了问题。 (3认同)