【问题标题】:UWP FolderPicker.PickSingleFolderAsync fails with COMException / E_FAILUWP FolderPicker.PickSingleFolderAsync 失败并出现 COMException / E_FAIL
【发布时间】:2018-03-08 17:01:58
【问题描述】:

在我的 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 启动)。谁能提出错误发生的原因和/或如何解决它?在看似最简单的代码中出现毫无意义的错误消息,我不知道如何继续。

【问题讨论】:

    标签: c# uwp


    【解决方案1】:

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

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

    您可以使用特定的扩展名,如".jpg",但它似乎在FolderPicker 中不起作用。唯一重要的是至少存在一个有效项目。

    【讨论】:

    • 哎呀,这很模糊 - 多么糟糕的错误消息。它确实解决了问题。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-03-27
    • 1970-01-01
    • 1970-01-01
    • 2017-07-02
    • 1970-01-01
    • 2023-03-04
    相关资源
    最近更新 更多