Win7下.NET应用程序System.IO.FileNotFoundException问题

来源:互联网 发布:第三方服务商淘宝客 编辑:程序博客网 时间:2024/06/16 13:31

开发环境:WinXP
开发工具:VS2005(C#.NET)
运行环境:Win7

背景:公司的电脑安装了Win7,禁止安装非工作软件,但是需要开发一个小工具,于是就在家里WinXP电脑上写了一个VS2005的小应用程序。在XP上调试运行,一切OK。但是把程序放到Win7运行,其中的一个功能就会报错:System.IO.FileNotFoundException。

原因:

// 程序中用到了下面的代码          

            // 定义路径
            DirectoryInfo diS = new DirectoryInfo(lbSourcePath.Text);
            // 获得源文件路径下的文件列表
            FileInfo[] fiS = diS.GetFiles();

WinXP下:fiS这个数组中当你使用fiS[0].Name时,fiS[0].Name是:fiS[0]的文件路径+fiS[0]的文件名称。
Win7下:fiS这个数组中当你使用fiS[0].Name时,fiS[0].Name是:fiS[0]的文件名称。


所以相同的程序在这两台机器上面出现了不同的结果,这个问题非常隐蔽,一定要注意!!