访问被拒绝。 HRESULT 异常:Windows Phone 8.1 中的 0x80070005

Access is denied. Exception from HRESULT: 0x80070005 in Windows Phone 8.1

我正在开发 Windows Phone 8.1 Silverlight 应用程序,

我正在尝试从我的 SD 卡上传文档,但出现此错误。

Access is denied. Exception from HRESULT: 0x80070005
System.UnauthorizedAccessException

我还在 WMAppManifest 文件中添加了功能 "ID_CAP_REMOVABLE_STORAGE"。但是没用。

查看下面我的代码:

private async void UploadDocument()
{
  StorageFolder externalDevices = KnownFolders.RemovableDevices;

  StorageFolder sdCard = (await externalDevices.GetFoldersAsync()).FirstOrDefault();

  if (sdCard != null)
  {
      //An SD card is present and the sdCard variable now contains a reference to it
  }

  else
  {
      // No SD card is present.
  }
}

WP8.1 也有新的清单文件 - Package.appxmanifest - 确保你也在那里添加了功能 - Location .此外,您还必须添加文件类型关联,因为它是 Silverlight.

尽管(我不知道为什么)您必须在第一次从代码中添加它 - 右键单击​​ Package.appxmanifest 文件 -> 查看代码并在application/Extensions部分添加例如这样的:

<Extension Category="windows.fileTypeAssociation">
  <FileTypeAssociation Name="text">
    <DisplayName>Text file</DisplayName>
    <SupportedFileTypes>
      <FileType ContentType="text/file">.txt</FileType>
    </SupportedFileTypes>
  </FileTypeAssociation>
</Extension>

添加并保存后,您可以通过图形 add/edit FileTypeAssociations UI.