0

我正在尝试从 Hololens 上的 Unity、UWP 应用程序访问 SMB 共享驱动器,并且尝试按照以下链接中的方法进行操作:

如何在 UWP 中访问本地网络 (SMB)?

我在 Package.appxmanifest 中定义了所需的(功能、共享目标和文件类型关联),如以下屏幕截图所示:

在此处输入图像描述

在我的 Unity 脚本中,我定义了以下内容:

如果 ENABLE_WINMD_SUPPORT && !UNITY_EDITOR

StorageFolder folder = await StorageFolder.GetFolderFromPathAsync(@"\\DESKTOP2GEQQ3D\FolderModels");

“等待”永远不会返回,我收到以下错误:

“FileNotFoundException:找不到指定的文件。”。

任何想法为什么等待永远不会返回并永远卡住?当然,如果 StorageFolder 无法访问“FolderModels”,我会收到“UnauthorizedAccessException”错误。

我的 SMB 共享驱动器对所有其他网络可见,我的 Hololens 与 SMB 共享驱动器在同一个网络上......我的想法已经用完了......

4

1 回答 1

0

您引用的解决方案并不完全正确。我建议您在 MSDN 论坛中查看答案:LINK

修复要点如下:

  1. 此处描述了我们访问网络驱动器所需的正确功能

    请仔细检查通用命名约定 (UNC) 文件夹部分。Proximity 能力在我们的例子中是无关紧要的。

  2. Share Target 声明不是我们需要设置的正确声明。相反,请添加File Type Associations声明,请参阅官方指南:处理文件激活

例如,如果我们需要访问 SMB 文件夹中的 .jpg 和 .txt 文件,请添加以下功能:

<Capability Name="internetClient" />
<Capability Name="privateNetworkClientServer"/>
<uap:Capability Name="enterpriseAuthentication"/>
<Capability Name="internetClientServer"/>

并设置File Type Associations声明:

<uap:Extension Category="windows.fileTypeAssociation">
          <uap:FileTypeAssociation Name="smbfolder">
            <uap:SupportedFileTypes>
              <uap:FileType>.txt</uap:FileType>
              <uap:FileType>.jpg</uap:FileType>
            </uap:SupportedFileTypes>
            <uap:DisplayName>SMBFolder</uap:DisplayName>
          </uap:FileTypeAssociation>
        </uap:Extension>
于 2020-06-17T04:57:35.297 回答