|
|
@@ -0,0 +1,83 @@
|
|
|
+using YSAI.Log;
|
|
|
+using YSAI.Unility;
|
|
|
+
|
|
|
+//目标框架管理工具
|
|
|
+//需要目标框架更新的库
|
|
|
+List<string> strings = new List<string>
|
|
|
+{
|
|
|
+ "YSAI.Kafka.Pack",
|
|
|
+ "YSAI.Mqtt.Pack",
|
|
|
+ "YSAI.NetMQ.Pack",
|
|
|
+ "YSAI.Netty.Pack",
|
|
|
+ "YSAI.RabbitMQ.Pack",
|
|
|
+
|
|
|
+ "YSAI.AllenBradley.Pack",
|
|
|
+ "YSAI.Beckhoff.Pack",
|
|
|
+ "YSAI.Can.Pack",
|
|
|
+ "YSAI.DB.Pack",
|
|
|
+ "YSAI.Mewtocol.Pack",
|
|
|
+ "YSAI.Mitsubishi.Pack",
|
|
|
+ "YSAI.Modbus.Pack",
|
|
|
+ "YSAI.Omron.Pack",
|
|
|
+ "YSAI.Opc.Pack",
|
|
|
+ "YSAI.Siemens.Pack",
|
|
|
+};
|
|
|
+
|
|
|
+//目标框架6
|
|
|
+string TargetFramework_6 = "net6.0";
|
|
|
+//目标框架8
|
|
|
+string TargetFramework_8 = "net8.0";
|
|
|
+//使用哪个框架
|
|
|
+string UseTargetFramework = TargetFramework_6;
|
|
|
+
|
|
|
+
|
|
|
+//更新完则注释,所以每次判断下,避免不必要操作
|
|
|
+if (strings.Count == 0)
|
|
|
+{
|
|
|
+ LogHelper.Error("不存在要更新目标框架的库名称");
|
|
|
+ return;
|
|
|
+}
|
|
|
+
|
|
|
+//按规定格式检索
|
|
|
+string searchPattern = "YSAI.*.Pack.csproj";
|
|
|
+
|
|
|
+//xml路径
|
|
|
+string xmlPath = "/Project/PropertyGroup/TargetFramework";
|
|
|
+
|
|
|
+//格式
|
|
|
+string format = "{0}.csproj";
|
|
|
+
|
|
|
+//检索成功的路径
|
|
|
+List<(string path, string name)> paths = new List<(string, string)>();
|
|
|
+
|
|
|
+//获取解决方案路径
|
|
|
+DirectoryInfo directory = new DirectoryInfo(Directory.GetCurrentDirectory());
|
|
|
+while (directory != null && !directory.GetFiles("*.sln").Any())
|
|
|
+{
|
|
|
+ directory = directory.Parent;
|
|
|
+ continue;
|
|
|
+}
|
|
|
+
|
|
|
+//检索里面的文件
|
|
|
+List<string> libs = Directory.GetFiles(directory.FullName, searchPattern, SearchOption.AllDirectories).ToList();
|
|
|
+//检索文件
|
|
|
+foreach (var lib in libs)
|
|
|
+{
|
|
|
+ foreach (var name in strings)
|
|
|
+ {
|
|
|
+ string str = string.Format(format, name);
|
|
|
+
|
|
|
+ if (lib.Contains(str))
|
|
|
+ {
|
|
|
+ paths.Add((lib, name));
|
|
|
+ }
|
|
|
+ }
|
|
|
+}
|
|
|
+
|
|
|
+foreach (var var in paths)
|
|
|
+{
|
|
|
+ LogHelper.Info($"{var.name} - TargetFramework:{UseTargetFramework}");
|
|
|
+ XmlTool.Update(var.path, xmlPath, string.Empty, UseTargetFramework);
|
|
|
+}
|
|
|
+
|
|
|
+LogHelper.Info("~~~~~~~~~~目标框架更新完成~~~~~~~~~~");
|