Entwickler-Ecke
Basistechnologien - pack Uri File local path
mmp5 - So 20.03.11 05:57
Titel: pack Uri File local path
Folgendes Problem:
1. Ich habe einen Ordner in meiner Application erstellt (myTemplate)
2. Ich habe eine Datei test.xml als ressource in diesen Ordner gepackt
Ich muss jetzt den lokalen Pfad dieser Datei kennen um mit dieser Arbeiten zu können ...
Ich will die Datei Manipulieren und in Kopieren und in 3 Ordner auf dem System platzieren ...
Ich dachte ich könnte hier mit "Uri" und "pack" arbeiten:
C#-Quelltext
1:
| Uri uri = new Uri("pack://application:,,,/myTemplate/test.xml"); |
Uri gibt mir jetzt aber nicht den Lokalen Pfad dieser Datei, damit ich diese Manipulieren und in die dementsprechenden Ordner kopieren kann.
Geht das wirklich nicht oder habe ich da nur was falsch verstanden?
Wofür ist pack denn sonst da?
Ich habe das Problem jetzt vorläufig mit folgenden codezeilen gelöst:
C#-Quelltext
1: 2:
| Uri baseUri = new Uri(System.Reflection.Assembly.GetEntryAssembly().Location); Uri shader = new Uri(baseUri, "myTemplate/test.xml"); |
Kha - So 20.03.11 11:52
Ich bin mir nicht sicher, was du vorhast. Eine Ressource ist einkompiliert, die besitzt keinen lokalen Pfad.
mmp5 - So 20.03.11 17:26
Ha, auch mal gut zu wissen ;)
Ich habs jetzt wie Folgt gelöst ...
Das gute an dieser Lösung ist, dass diese für jeden Daten-Typen geeignet ist, einige andere Lösungen haben bei mir nicht funktioniert ...
C#-Quelltext
1: 2: 3: 4: 5: 6: 7: 8: 9:
| using (Stream inputStream = Assembly.GetExecutingAssembly().GetManifestResourceStream("WpfApp1.myRes.test.xml")) { using (FileStream objFileStream = new FileStream("aaa.xml", FileMode.Create, FileAccess.Write)) { Byte[] abytResource = new Byte[inputStream.Length]; inputStream.Read(abytResource, 0, (int)inputStream.Length); objFileStream.Write(abytResource, 0, (int)inputStream.Length); } } |
Entwickler-Ecke.de based on phpBB
Copyright 2002 - 2011 by Tino Teuber, Copyright 2011 - 2026 by Christian Stelzmann Alle Rechte vorbehalten.
Alle Beiträge stammen von dritten Personen und dürfen geltendes Recht nicht verletzen.
Entwickler-Ecke und die zugehörigen Webseiten distanzieren sich ausdrücklich von Fremdinhalten jeglicher Art!