学了个把月C#了,第一次实战,今天我成功修复了一个Bug,
公司的一个软件,有用户经常遇到播放不了视频内容的情况,
后来发现了原来是临时文件AppData下面的node文件被杀毒软件清理了,所以才导致视频无法观看的。
我就做了个判断,当检测到AppData里面没有node文件 或者 少子文件时,我就从源目录把node文件复制过去。
//获取源路径下的node文件夹的文件个数 string srcDirPath = $"{AppDomain.CurrentDomain.BaseDirectory}node"; var srcFileList = Directory.GetFiles(srcDirPath, "*", SearchOption.AllDirectories).ToList(); foreach (var file in srcFileList) { Console.WriteLine(file); } int srcNumbers = srcFileList.Count; //判断是否存在所需文件夹 if (Directory.Exists(AppDomain.CurrentDomain.BaseDirectory + " / node / server-shell 64 / server-shell 32")) { //存在 } else { Command.File_DirManipulate.FolderCopy(srcDirPath, destDirPath); } //获取AppData下的node文件夹的文件个数 string destDirPath32 = $"{Globals.appDataPathTemp}node\\server-shell 32"; string destDirPath64 = $"{Globals.appDataPathTemp}node\\server-shell 64"; var descFileList32 = Directory.GetFiles(destDirPath32, "*", SearchOption.AllDirectories).ToList(); foreach (var file in descFileList32) { Console.WriteLine(file); } var descFileList64 = Directory.GetFiles(destDirPath64, "*", SearchOption.AllDirectories).ToList(); foreach (var file in descFileList64) { Console.WriteLine(file); } int fileNum32 = descFileList32.Count; int fileNum64 = descFileList64.Count; int descNumbers = fileNum32 + fileNum64; //判断两个node文件夹的文件个数是否相等, //如果不相等就从源路径把node文件复制到AppData。 try { if (srcNumbers!=descNumbers) { Command.File_DirManipulate.FolderCopy(srcDirPath, destDirPath); } } catch (Exception ex) { Common.SaveLog(ex.Message + "\r\n" + ex.InnerException); }
标签:node,文件,修复,AppData,server,哈哈,file,var,Bug From: https://www.cnblogs.com/chungeblog/p/17092330.html