日期:2014-05-19  浏览次数:20796 次

在一个单元测试中,我先建立一个xml文件,然后删除它:在删除时报错误:System.IO.IOException: 文件“C:\a.xml”正由另一进程使用,因此该进
string   file   =   @ "C:\a.xml ";
                        if   (!File.Exists(file))
                        {
                                File.Create(file);
                        }

                        if   (File.Exists(file))
                        {
                                File.Delete(file);
                        }

------解决方案--------------------
先把打开xml的页面关掉吧~~
------解决方案--------------------
Create之后,默认xml文件是处于打开状态,必须手动关闭才能Delete
------解决方案--------------------
弄个简单的线程就可以了.
线程1:创建一个XML文件,并写入相应的东西
Thread.Join();
删除刚才创建的XML文件

这样就可以了(如果懂线程的话,这样的提示就足够了)
------解决方案--------------------
File.Create(@ "C:\a.xml ").Close();

File.Delete(@ "C:\a.xml ");
------解决方案--------------------
启动A的线程操作C文件后在B中再次操作C不会出现你说的那个异常.但是如果将这两个操作放到同一个线程中就一定出问题.至于我说的thread.join,我记不太清楚了.用它的原因是:因为你建立在前,删除在后,这是一个线性操作,所以必须要让A和B排个队(应该是A.Join())