I'm working on an Windows Phone 7 app where I'm going to show ATM's nere your location with bing maps.
I have an xml-file with addresses and gps coordinates. But how do I add this file to my program from visual studio? If I set BuildAction to Content and Copy to output directory to Copy always. The file still isn't in IsolatedStorage. Do I have to build a mechanism to download the information from the web? Or is there another way?
You cannot directly pass files to the isolated storage at design time. Only when the application is running.
I'd still recommend passing the file to the application through a web service. Mainly because if eventually you will need to change the contents of the XML, you will need to update the application.
What I would do is simply create a WCF service that will return serialized data (or the existing XML) via a simple HTTP request.
Files listed as content in the Visual Studio project are copied to the generated XAP file (which is analogous to a ZIP file). They are not copied to isolated storage.
In the case of an XML file, you can call XmlReader.Create with the path to the file as argument, as follows:
Or you can also call Application.GetResourceStream and use the Stream property of the returned StreamResourceInfo object:
The "Mango" SDK ships with the ISETool that can take and restore snapshots of an application's isolated storage to/from a local directory:
If you don't want to overwrite the entire IS, the tool supports an option (
device-folder
) for specifying a sub-directory to backup/restore.