Hiljuti hakkasin üht vana Silverlight 3 demo rakendust telefonile portima ning sattusin veidra probleemi otsa – nimelt rakendusega kaasapandud failid, mille lugemine muidu väga kenasti sujus telefoni peal enam ei avanenud. Veateated ka väga asjalikud ei olnud: WebClient: “Unknown error”.
Kui ma lõpuks aru sain, milles probleem oli, tundus tobe, et ma selle peale kohe ei tulnud. Aga muidugi, telefon, isegi emulaator on ju täielikult teine seda ning temal ei ole ligipääsu suvalistele projekti lisatud falidele. Seega, selleks, et lugeda suvalist projekti lisatud faili on vaja see määrata ressursiks.
ning koodis saab ta avada nii:
var resource = Application.GetResourceStream(new Uri(@"/ASSEMBLYNAME;component/file.xml", UriKind.Relative));
Kui on vaja seda faili ka muuta, siis tuleb fail kopeerida IsolatedStoragesse ning sellega seal edasi tegutseda.