как решить доступ запрещен при использовании UWP GetFolderFromPathAsync - PullRequest
0 голосов
/ 08 февраля 2019

Мне отказывают в доступе при попытке доступа к файловой системе из моего приложения UWP с помощью GetFolderFromPathAsync.

Моему приложению UWP необходим доступ к файловой системе Windows 10.Я использую broadFileSystemAccess, но застрял.Мой код ниже получает «доступ запрещен», когда он выполняет GetFolderFromPathAsync.

И когда я пытаюсь установить тип файла манифеста, я получаю ошибки ниже.

Любая помощь очень ценится.

Мой код

                    StorageFolder test_StorageFolder = await StorageFolder.GetFolderFromPathAsync(@"C:\demo");
                    StorageFile sampleFile =    await test_StorageFolder.CreateFileAsync("test.txt",
                            Windows.Storage.CreationCollisionOption.ReplaceExisting);

МОЯ ОШИБКА МАНИФЕСТА ... enter image description here

Ошибка проверки.ошибка C00CE020: ошибка проверки манифеста приложения: манифест приложения должен быть действительным в соответствии со схемой: строка 43, столбец 12, причина: отсутствует обязательный атрибут «Имя».

МОЙ МАНИФЕСТ ... enter image description here

IE ..

> <?xml version="1.0" encoding="utf-8"?> <Package
> xmlns:rescap="http://schemas.microsoft.com/appx/manifest/foundation/windows10/restrictedcapabilities"
> xmlns="http://schemas.microsoft.com/appx/manifest/foundation/windows10"
> xmlns:mp="http://schemas.microsoft.com/appx/2014/phone/manifest"
> xmlns:uap="http://schemas.microsoft.com/appx/manifest/uap/windows10"
> IgnorableNamespaces="uap mp build"
> xmlns:build="http://schemas.microsoft.com/developer/appx/2015/build"> 
> <!--
>     THIS PACKAGE MANIFEST FILE IS GENERATED BY THE BUILD PROCESS.
> 
>     Changes to this file will be lost when it is regenerated. To correct errors in this file, edit the source .appxmanifest file.
> 
>     For more information on package manifest files, see http://go.microsoft.com/fwlink/?LinkID=241727   -->   <Identity
> Name="Microsoft.SDKSamples.CameraFrames.CS" Publisher="CN=Microsoft
> Corporation, O=Microsoft Corporation, L=Redmond, S=Washington, C=US"
> Version="1.0.0.0" ProcessorArchitecture="x64" />   <mp:PhoneIdentity
> PhoneProductId="2344b9de-5071-42a6-8873-7fdeb38d53dd"
> PhonePublisherId="00000000-0000-0000-0000-000000000000" />  
> <Properties>
>     <DisplayName>Camera Frames C# Sample</DisplayName>
>     <PublisherDisplayName>Microsoft Corporation</PublisherDisplayName>
>     <Logo>Assets\StoreLogo-sdk.png</Logo>   </Properties>   <Dependencies>
>     <TargetDeviceFamily Name="Windows.Universal" MinVersion="10.0.17134.0" MaxVersionTested="10.0.17134.0" />  
> </Dependencies>   <Resources>
>     <Resource Language="EN-US" />   </Resources>   <Applications>
>     <Application Id="App" Executable="CameraFrames.exe" EntryPoint="CameraFrames.App">
>       <uap:VisualElements DisplayName="MOVANO System Hub Camera  interface" Square150x150Logo="Assets\SquareTile-sdk.png"
> Square44x44Logo="Assets\SmallTile-sdk.png" Description="Camera Frames
> C# Sample" BackgroundColor="#00b2f0">
>         <uap:SplashScreen Image="Assets\Splash-sdk.png" />
>         <uap:DefaultTile>
>           <uap:ShowNameOnTiles>
>             <uap:ShowOn Tile="square150x150Logo" />
>           </uap:ShowNameOnTiles>
>         </uap:DefaultTile>
>       </uap:VisualElements>
>       <Extensions>
>         <uap:Extension Category="windows.fileTypeAssociation">
>           <uap:FileTypeAssociation Name="access">
>             <uap:SupportedFileTypes>
>               <uap:FileType>.txt</uap:FileType>
>               <uap:FileType>.bin</uap:FileType>
>             </uap:SupportedFileTypes>
>           </uap:FileTypeAssociation>
>         </uap:Extension>
>         <uap:Extension Category="windows.fileTypeAssociation">
>           <uap:FileTypeAssociation>
>             <uap:SupportedFileTypes>
>               <uap:FileType></uap:FileType>
>             </uap:SupportedFileTypes>
>           </uap:FileTypeAssociation>
>         </uap:Extension>
>       </Extensions>
>     </Application>   </Applications>   <Capabilities>
>     <Capability Name="privateNetworkClientServer" />
>     <Capability Name="internetClientServer" />
>     <DeviceCapability Name="microphone" />
>     <DeviceCapability Name="webcam" />   </Capabilities>   <build:Metadata>
>     <build:Item Name="TargetFrameworkMoniker" Value=".NETCore,Version=v5.0" />
>     <build:Item Name="VisualStudio" Version="15.0" />
>     <build:Item Name="VisualStudioEdition" Value="Microsoft Visual Studio Professional 2017" />
>     <build:Item Name="OperatingSystem" Version="10.0.17134.1 (WinBuild.160101.0800)" />
>     <build:Item Name="Microsoft.Build.AppxPackage.dll" Version="15.0.28307.104" />
>     <build:Item Name="ProjectGUID" Value="{1BF84D6E-9DCE-5653-AC51-BB4FC694A252}" />
>     <build:Item Name="OptimizingToolset" Value="None" />
>     <build:Item Name="TargetRuntime" Value="Managed" />
>     <build:Item Name="Microsoft.Windows.UI.Xaml.Build.Tasks.dll" Version="15.0.28307.102" />
>     <build:Item Name="MakePri.exe" Version="10.0.17134.12 (WinBuild.160101.0800)" />   </build:Metadata> </Package>

1 Ответ

0 голосов
/ 01 марта 2019

Я заплатил технической поддержке Microsoft $ 500 и получил «секретный» ответ.Вот оно, мои коллеги-кодеры ...

  1. Открыть папку проекта
  2. удалить папку .vs.
  3. удалить bin и obj
  4. Открытьрешение
  5. Чистое решение
  6. Решение, щелкнутое правой кнопкой мыши -> Восстановить пакеты NuGet
  7. Открыть код манифеста проекта (не GUI)
  8. Изменить
    IgnorableNamespaces = "uap mp"> до
    IgnorableNamespaces = "uap mp rescap">

  9. Заменить
    http://schemas.microsoft.com/appx/manifest/foundation/windows10/restrictedcapabilities на

  10. Сборка> Диспетчер конфигурации> Платформа активного решения = x64 (по умолчанию ARM)

  11. Перестройка решения
  12. Сборка> Развертывание
  13. Кнопка окна> поиск:Настройки конфиденциальности файловой системы
  14. Включите ваше приложение

Вы в порядке.

...