2017-11-16 13 views
0

私は、関連するバックグラウンドタスクを持つUWPプロジェクトに取り組んでいます。バックグラウンドタスクは、ドキュメントライブラリ上の特定のファイルをチェックする必要があります。winrtでknownfoldersが動作しないのはなぜですか?何か不足していますか?

このコードは完全に動作します。

try 
    { 
     StorageFile file = await ApplicationData.Current.LocalFolder.GetFileAsync(fileName); 
     SendToast(file.Path + file.Name + " - File Present"); 
    } 
catch 
    { 
     SendToast("Not Found"); 
    } 

この1つはないの

try 
    { 
     StorageFile file = await KnownFolders.DocumentsLibrary.GetFileAsync(fileName); 
     SendToast(file.Path + file.Name + " - File Present"); 
    } 
catch 
    { 
     SendToast("Not Found"); 
    } 

I持ってもPackage.appxmanifest

<Capabilities> 
    <Capability Name="internetClient" /> 
    <uap:Capability Name="documentsLibrary" /> 
    </Capabilities> 

でドキュメントライブラリ機能を追加し、この

<uap:Extension Category="windows.fileTypeAssociation"> 
    <uap:FileTypeAssociation Name=".txt"> 
    <uap:DisplayName>Text</uap:DisplayName> 
    <uap:SupportedFileTypes> 
     <uap:FileType>.log</uap:FileType> 
    </uap:SupportedFileTypes> 
    </uap:FileTypeAssociation> 
</uap:Extension> 

アムIここに何かがない?

+0

追加するには、自分のウィンドウがFall Creatorアップデート2017に更新されていることを確認しました。 –

+0

この問題に関する最新情報はありますか?私はBreezeの答えが正しい答えをすでに示していると信じています。 –

答えて

0

UWPのアプリはサンドボックスで実行し、ファイルシステムへの非常に限られたアクセス権を持っている、StorageItems(すなわちStorageFolderStorageFile)は、Windowsストアのアプリではなく、パスの標準的なストレージ識別子です。

私たちのローカルフォルダ(ApplicationData.Current.LocalFolder)に格納されたデータ、我々はパスを使用することができますが、あなたはDocumentsLibraryMusicLibraryを使用している場合、我々はファイルにアクセスするためのパスを使用することはできません、それは非ファイル - を指し、システムの場所とDocumentsLibrary機能は、アプリケーションに直接ファイルシステムへのアクセスを許可しません。 Windowsストアアプリケーションでのファイルアクセスとパスの使用について詳しくは、とRobのblogを参照してください。

関連する問題