MakeCode 递归生成资源文件
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 | static void yieldDir(DirectoryInfo dir, int depth, StringBuilder sb1, StringBuilder sb2) { var firstFlag = "" ; var firstFlag1 = "" ; var dirtmp = dir; for ( int a = 0; a < depth; a++) { var dirtmpname = Regex.Replace(dirtmp.Name, @"[^\w]" , "_" ); firstFlag = string .Concat(dirtmp.Name, @"\" , firstFlag); firstFlag1 = string .Concat(dirtmpname, @"_" , firstFlag1); dirtmp = dirtmp.Parent; } foreach ( var f11 in dir.GetFiles()) { var f = f11.Name; var f1 = Regex.Replace(f, @"[^\w]" , "_" ); sb1.Append($ @" <data name=""{firstFlag1}{f1}"" type=""System.Resources.ResXFileRef, System.Windows.Forms""> <value>..\Resources\{firstFlag}{f};System.String, mscorlib, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089;utf-8</value> </data>" ); sb2.Append($ @" loc1.Add(new BuildInfo(string.Concat(CONST.corePath, @""Common\{firstFlag}{f}""), Deflate.Compress(Properties.Resources.{firstFlag1}{f1})));" ); } foreach ( var d11 in dir.GetDirectories()) { yieldDir(d11, depth + 1, sb1, sb2); } } var dir = new DirectoryInfo( @"C:\Users\Administrator\Desktop\mc(core+mysql)\Server\Resources\CSRedis" ); StringBuilder sb1 = new StringBuilder(); StringBuilder sb2 = new StringBuilder(); yieldDir(dir, 1, sb1, sb2); File.WriteAllText( @"test.txt" , sb1.ToString() + sb2.ToString()); |
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 如何编写易于单元测试的代码
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 10年+ .NET Coder 心语 ── 封装的思维:从隐藏、稳定开始理解其本质意义
· 地球OL攻略 —— 某应届生求职总结
· 提示词工程——AI应用必不可少的技术
· Open-Sora 2.0 重磅开源!
· 周边上新:园子的第一款马克杯温暖上架