2017-12-15 10 views
1

私はローカルストレージの外にファイルを作成する必要があるUWPアプリケーションで作業しています。私はフォルダピッカーを使用してユーザーに出力ディレクターを選択させてから、LocalSettingsを使用してその選択内容を保存し、そのフォルダーをFutureAccessListに追加します。CreateFileAsyncはブロックされたファイルを作成します

次に、StorageFile.CreateFileAsyncを使用してファイルを作成します(これは正常ですが、エラーも例外もありません)。

問題は、ファイルが、ファイルのプロパティダイアログで見ることができるように、ブロックを使用して作成され、次のとおりです。enter image description here

があり、このことなく、ファイルを作成するための特定の方法、またはC#を使用してブロックを解除する方法ですか?

+0

ファイルフォーマットに正しい拡張子を使用していますか? –

+0

はい。テストのために、それは唯一の.txtファイルです。そして、ファイルが開かれます。 –

答えて

0

私はここに私の発見のいくつかを共有したい:

  1. うん画像をテストする場合、私はこれを再現することができます。私は、他のファイルは、以下のSOのスレッドによると、同じ結果
  2. を持っているかもしれないと思う:。thread1thread2、プロパティはSystem.AppZoneIdentifierに書いているあなたはUWPアプリからそれをチェックすると、拡張プロパティです(プロパティのリストについては、あなたが参照することができますhere
  3. に私はこのextended property取得するためのコードでテスト:

    IDictionary<string, object> extraProperties = await file.Properties.RetrievePropertiesAsync(propertiesName); 
        var propValue = extraProperties[appzoneProperty]; 
        if (propValue != null) 
        { 
         fileProperties.AppendLine("appzone property: " + propValue); 
        } 
    

    を私は常にnull値を取得します。私の理解によれば、これは許可に関連するかもしれません。

  4. この機能を変更する必要がある場合は、デスクトップブリッジ関連の技術を使用してFullTrustProcessLauncherを使用することを検討する必要があります。このようにして、win32プロセスを実行してファイルのプロパティを変更することができます。

+0

これらの2つのスレッドも見ましたが、この解決策はUWPには当てはまりません。 UWPをWin32アプリケーションにリンクする唯一の方法は、UWPを「サイドロードする」ことです。これは、私が行きたい方向ではありません。 –

+0

@ JohnieKarr FullTrustProcesslancherは、「サイドロード」とは異なるデスクトップブリッジ方式です。この[sample](https://github.com/Microsoft/DesktopBridgeToUWP-Samples/tree/master/Samples/AppServiceBridgeSample)を見ることができます。違いは、capbilityを追加し、この[form](https:// developer.jp)。 UWP固有のソリューションについては、この属性を変更する権限がないことがあります。 –

+0

訂正ありがとう!私はこのルートにショットをつけます。 –

関連する問題