Für ein weiteres VB.NET Beispiel brauche ich viele Daten. Diese liegen in einem Text File und diese Datei muss ich öffnen. Das ist in einem Sandboxed System nicht ganz einfach. Der Zugriff auf Benutzerdaten unter Windows 8 der lokalen Festplatte ist auf die Bibliotheken Dokumente, Bilder, Musik und Videos beschränkt.
Also müsste folgender Code funktionieren um eine Datei zu erzeugen.
Try
Dim sf1 As StorageFolder = KnownFolders.DocumentsLibrary
Dim sampleFile = Await sf1.CreateFileAsync("sample.txt", CreationCollisionOption.ReplaceExisting )
Catch ex As Exception
Dim msg As MessageDialog = New MessageDialog(ex.Message)
msg.ShowAsync().AsTask()
End Try
Tut es aber nicht. Es kommt eine Acces denied Exception.
Man muss im Manifest der Anwendung erst die Rechte auf die Dokument Library gewähren.
Das reicht aber noch immer nicht. Als nächste muss laut meinen Tests noch eine File Typ Assoziation für die Erweiterung txt angelegt werden.
Dann funktioniert auch das einlesen meiner txt Datei aus myDocuments.
Dim sf = Await Windows.Storage.KnownFolders.DocumentsLibrary.GetFileAsync("vorname.txt")
Dim s As String = Await FileIO.ReadTextAsync(sf)
Der kleine Nebeneffekt ist, das nun die APP für die Erweiterung txt im Explorer registriert ist.