"在路径上分享违规行为......"在Xamarin in OnCreate()

时间:2015-07-19 18:05:55

标签: c# android xamarin

使用C#处理Android应用。每次调用onCreate()时都试图访问和编辑文件。 (OnCreate()调用updateTileInstallationStatus())

           private void updateTileInstallationStatus()
           {

                using (StreamReader streamReader = new StreamReader(Assets.Open("tileData.xml"))) { 
                            XmlDocument xmlDoc = setAllTilesUninstalled(streamReader);
                            //some file editing here...
                            xmlDoc.Save(getFilePath());
                }
            }

            private XmlDocument setAllTilesUninstalled(StreamReader streamReader) 
            {
                //use template from Assets to set all tile installation status as false
                XmlDocument xmlDoc = new XmlDocument ();
                xmlDoc.Load (streamReader);
                xmlDoc.Save(getFilePath());
                return xmlDoc;
            }

它在第一次应用程序保持水分时成功保存文件,但在路径上抛出了#34;共享违规..."在导航后重新打开应用程序。

在其他帖子中,看起来问题是通过关闭StreamReader来解决的。我尝试在updateTile ...()中保存调用后执行此操作,但这并没有解决问题。与using语句相同。看起来流不会被关闭,然后当第二次调用updateTile ..()时,它无法访问该文件,因为它被锁定了?

有关更好地访问/编辑文档或关闭流的建议吗?

1 个答案:

答案 0 :(得分:0)

已解决:有一个我从未关闭过的另一个方法的开放流,这阻止了我保存。