Shun 2 年之前
父節點
當前提交
172a4796e5
共有 28 個文件被更改,包括 550 次插入262 次删除
  1. 10 0
      src/YSAI.DAQ/YSAI.Can.Pack/Program.cs
  2. 17 0
      src/YSAI.DAQ/YSAI.Can.Pack/YSAI.Can.Pack.csproj
  3. 161 105
      src/YSAI.DAQ/YSAI.Core/data/AddressHandler.cs
  4. 20 3
      src/YSAI.DAQ/YSAI.Core/reflection/ReflectionOperate.cs
  5. 57 7
      src/YSAI.DAQ/YSAI.DAQ.sln
  6. 1 1
      src/YSAI.DAQ/YSAI.SCADA/Program.cs
  7. 16 0
      src/YSAI.DAQ/YSAI.DB.Pack/YSAI.DB.Pack.csproj
  8. 8 3
      src/YSAI.DAQ/YSAI.DaqManage/DaqManageData.cs
  9. 13 17
      src/YSAI.DAQ/YSAI.DaqManage/DaqManageOperate.cs
  10. 10 0
      src/YSAI.DAQ/YSAI.Kafka.Pack/Program.cs
  11. 16 0
      src/YSAI.DAQ/YSAI.Kafka.Pack/YSAI.Kafka.Pack.csproj
  12. 64 73
      src/YSAI.DAQ/YSAI.Manage/Controllers/InfoOperateController.cs
  13. 0 2
      src/YSAI.DAQ/YSAI.Manage/Program.cs
  14. 4 7
      src/YSAI.DAQ/YSAI.Manage/YSAI.Manage.csproj
  15. 10 0
      src/YSAI.DAQ/YSAI.Modbus.Pack/Program.cs
  16. 16 0
      src/YSAI.DAQ/YSAI.Modbus.Pack/YSAI.Modbus.Pack.csproj
  17. 10 0
      src/YSAI.DAQ/YSAI.Mqtt.Pack/Program.cs
  18. 16 0
      src/YSAI.DAQ/YSAI.Mqtt.Pack/YSAI.Mqtt.Pack.csproj
  19. 10 0
      src/YSAI.DAQ/YSAI.Opc.Pack/Program.cs
  20. 16 0
      src/YSAI.DAQ/YSAI.Opc.Pack/YSAI.Opc.Pack.csproj
  21. 1 0
      src/YSAI.DAQ/YSAI.Opc/YSAI.Opc.csproj
  22. 10 0
      src/YSAI.DAQ/YSAI.RabbitMQ.Pack/Program.cs
  23. 16 0
      src/YSAI.DAQ/YSAI.RabbitMQ.Pack/YSAI.RabbitMQ.Pack.csproj
  24. 9 3
      src/YSAI.DAQ/YSAI.RelayManage/RelayManageData.cs
  25. 13 17
      src/YSAI.DAQ/YSAI.RelayManage/RelayManageOperate.cs
  26. 10 0
      src/YSAI.DAQ/YSAI.S7.Pack/Program.cs
  27. 16 0
      src/YSAI.DAQ/YSAI.S7.Pack/YSAI.S7.Pack.csproj
  28. 0 24
      src/YSAI.DAQ/YSAI.SCADA/YSAI.SCADA.csproj

+ 10 - 0
src/YSAI.DAQ/YSAI.Can.Pack/Program.cs

@@ -0,0 +1,10 @@
+namespace YSAI.Can.Pack
+{
+    internal class Program
+    {
+        static void Main(string[] args)
+        {
+            Console.WriteLine("Hello, World!");
+        }
+    }
+}

文件差異過大導致無法顯示
+ 17 - 0
src/YSAI.DAQ/YSAI.Can.Pack/YSAI.Can.Pack.csproj


+ 161 - 105
src/YSAI.DAQ/YSAI.Core/data/AddressHandler.cs

@@ -138,19 +138,26 @@ namespace YSAI.Core.data
         /// <returns>统一出参</returns>
         public static OperateResult Subscribe(string Topic, string ISn)
         {
-            //反射状态为true才进行操作
-            if (reflectionOperate.ReflectionState)
+            try
             {
-                //类的唯一标识符
-                string ClassSN = "YSAI.RelayManage.RelayManageOperate[Instance]";
-                //方法的唯一标识符
-                string MethodSN = "[Subscribe]";
-                //执行转发方法
-                return reflectionOperate.ExecuteMethod($"{ClassSN}{MethodSN}", new object[] { Topic, ISn }) as OperateResult;
+                //反射状态为true才进行操作
+                if (reflectionOperate.ReflectionState)
+                {
+                    //类的唯一标识符
+                    string ClassSN = "YSAI.RelayManage.RelayManageOperate[Instance]";
+                    //方法的唯一标识符
+                    string MethodSN = "[Subscribe]";
+                    //执行转发方法
+                    return reflectionOperate.ExecuteMethod($"{ClassSN}{MethodSN}", new object[] { Topic, ISn }) as OperateResult;
+                }
+                else
+                {
+                    return new OperateResult(false, $"反射状态 {reflectionOperate.ReflectionState} 不做此操作", 0.1);
+                }
             }
-            else
+            catch (Exception ex)
             {
-                return new OperateResult(false, $"反射状态 {reflectionOperate.ReflectionState} 不做此操作", 0.1);
+                return new OperateResult(false, $"转发事件注册异常:{ex.Message}", 0.1);
             }
         }
         /// <summary>
@@ -161,19 +168,26 @@ namespace YSAI.Core.data
         /// <returns>统一出参</returns>
         public static OperateResult UnSubscribe(string Topic, string ISn)
         {
-            //反射状态为true才进行操作
-            if (reflectionOperate.ReflectionState)
+            try
             {
-                //类的唯一标识符
-                string ClassSN = "YSAI.RelayManage.RelayManageOperate[Instance]";
-                //方法的唯一标识符
-                string MethodSN = "[UnSubscribe]";
-                //执行转发方法
-                return reflectionOperate.ExecuteMethod($"{ClassSN}{MethodSN}", new object[] { Topic, ISn }) as OperateResult;
+                //反射状态为true才进行操作
+                if (reflectionOperate.ReflectionState)
+                {
+                    //类的唯一标识符
+                    string ClassSN = "YSAI.RelayManage.RelayManageOperate[Instance]";
+                    //方法的唯一标识符
+                    string MethodSN = "[UnSubscribe]";
+                    //执行转发方法
+                    return reflectionOperate.ExecuteMethod($"{ClassSN}{MethodSN}", new object[] { Topic, ISn }) as OperateResult;
+                }
+                else
+                {
+                    return new OperateResult(false, $"反射状态 {reflectionOperate.ReflectionState} 不做此操作", 0.1);
+                }
             }
-            else
+            catch (Exception ex)
             {
-                return new OperateResult(false, $"反射状态 {reflectionOperate.ReflectionState} 不做此操作", 0.1);
+                return new OperateResult(false, $"转发事件注册异常:{ex.Message}", 0.1);
             }
         }
 
@@ -184,21 +198,28 @@ namespace YSAI.Core.data
         /// <param name="Content">内容</param>
         /// <param name="ISns">实例唯一标识符集合,空则全部发送</param>
         /// <returns>统一出参</returns>
-        public static OperateResult Produce(string Topic, string Content,List<string>? ISns = null)
+        public static OperateResult Produce(string Topic, string Content, List<string>? ISns = null)
         {
-            //反射状态为true才进行操作
-            if (reflectionOperate.ReflectionState)
+            try
             {
-                //类的唯一标识符
-                string ClassSN = "YSAI.RelayManage.RelayManageOperate[Instance]";
-                //方法的唯一标识符
-                string MethodSN = "[Produce]";
-                //执行转发方法
-                return reflectionOperate.ExecuteMethod($"{ClassSN}{MethodSN}", new object[] { Topic, Content, ISns }) as OperateResult;
+                //反射状态为true才进行操作
+                if (reflectionOperate.ReflectionState)
+                {
+                    //类的唯一标识符
+                    string ClassSN = "YSAI.RelayManage.RelayManageOperate[Instance]";
+                    //方法的唯一标识符
+                    string MethodSN = "[Produce]";
+                    //执行转发方法
+                    return reflectionOperate.ExecuteMethod($"{ClassSN}{MethodSN}", new object[] { Topic, Content, ISns }) as OperateResult;
+                }
+                else
+                {
+                    return new OperateResult(false, $"反射状态 {reflectionOperate.ReflectionState} 不做此操作", 0.1);
+                }
             }
-            else
+            catch (Exception ex)
             {
-                return new OperateResult(false, $"反射状态 {reflectionOperate.ReflectionState} 不做此操作", 0.1);
+                return new OperateResult(false, $"转发事件注册异常:{ex.Message}", 0.1);
             }
         }
 
@@ -207,40 +228,40 @@ namespace YSAI.Core.data
         /// </summary>
         public static List<string>? TypeSns()
         {
-            //反射状态为true才进行操作
-            if (reflectionOperate.ReflectionState)
-            {
-                //类的唯一标识符
-                string ClassSN = "YSAI.RelayManage.RelayManageOperate[Instance]";
-                //方法的唯一标识符
-                string MethodSN = "[TypeSns]";
-                //执行转发方法
-                return reflectionOperate.ExecuteMethod($"{ClassSN}{MethodSN}", null) as List<string>;
-            }
-            else
+            if (reflectionOperate != null)
             {
-                return null;
+                //反射状态为true才进行操作
+                if (reflectionOperate.ReflectionState)
+                {
+                    //类的唯一标识符
+                    string ClassSN = "YSAI.RelayManage.RelayManageOperate[Instance]";
+                    //方法的唯一标识符
+                    string MethodSN = "[TypeSns]";
+                    //执行转发方法
+                    return reflectionOperate.ExecuteMethod($"{ClassSN}{MethodSN}", null) as List<string>;
+                }
             }
+            return null;
         }
         /// <summary>
         /// 实例唯一标识符集合
         /// </summary>
         public static List<string>? InstanceSns()
         {
-            //反射状态为true才进行操作
-            if (reflectionOperate.ReflectionState)
-            {
-                //类的唯一标识符
-                string ClassSN = "YSAI.RelayManage.RelayManageOperate[Instance]";
-                //方法的唯一标识符
-                string MethodSN = "[InstanceSns]";
-                //执行转发方法
-                return reflectionOperate.ExecuteMethod($"{ClassSN}{MethodSN}", null) as List<string>;
-            }
-            else
+            if (reflectionOperate != null)
             {
-                return null;
+                //反射状态为true才进行操作
+                if (reflectionOperate.ReflectionState)
+                {
+                    //类的唯一标识符
+                    string ClassSN = "YSAI.RelayManage.RelayManageOperate[Instance]";
+                    //方法的唯一标识符
+                    string MethodSN = "[InstanceSns]";
+                    //执行转发方法
+                    return reflectionOperate.ExecuteMethod($"{ClassSN}{MethodSN}", null) as List<string>;
+                }
             }
+            return null;
         }
         /// <summary>
         /// 释放指定实例
@@ -249,19 +270,26 @@ namespace YSAI.Core.data
         /// <returns>统一出参</returns>
         public static OperateResult DisposeISn(string ISn)
         {
-            //反射状态为true才进行操作
-            if (reflectionOperate.ReflectionState)
+            try
             {
-                //类的唯一标识符
-                string ClassSN = "YSAI.RelayManage.RelayManageOperate[Instance]";
-                //方法的唯一标识符
-                string MethodSN = "[DisposeISn]";
-                //执行转发方法
-                return reflectionOperate.ExecuteMethod($"{ClassSN}{MethodSN}", new object[] { ISn }) as OperateResult;
+                //反射状态为true才进行操作
+                if (reflectionOperate.ReflectionState)
+                {
+                    //类的唯一标识符
+                    string ClassSN = "YSAI.RelayManage.RelayManageOperate[Instance]";
+                    //方法的唯一标识符
+                    string MethodSN = "[DisposeISn]";
+                    //执行转发方法
+                    return reflectionOperate.ExecuteMethod($"{ClassSN}{MethodSN}", new object[] { ISn }) as OperateResult;
+                }
+                else
+                {
+                    return new OperateResult(false, $"反射状态 {reflectionOperate.ReflectionState} 不做此操作", 0.1);
+                }
             }
-            else
+            catch (Exception ex)
             {
-                return new OperateResult(false, $"反射状态 {reflectionOperate.ReflectionState} 不做此操作", 0.1);
+                return new OperateResult(false, $"转发事件注册异常:{ex.Message}", 0.1);
             }
         }
         /// <summary>
@@ -271,19 +299,26 @@ namespace YSAI.Core.data
         /// <returns>统一出参</returns>
         public static OperateResult RemoveISn(string ISn)
         {
-            //反射状态为true才进行操作
-            if (reflectionOperate.ReflectionState)
+            try
             {
-                //类的唯一标识符
-                string ClassSN = "YSAI.RelayManage.RelayManageOperate[Instance]";
-                //方法的唯一标识符
-                string MethodSN = "[RemoveISn]";
-                //执行转发方法
-                return reflectionOperate.ExecuteMethod($"{ClassSN}{MethodSN}", new object[] { ISn }) as OperateResult;
+                //反射状态为true才进行操作
+                if (reflectionOperate.ReflectionState)
+                {
+                    //类的唯一标识符
+                    string ClassSN = "YSAI.RelayManage.RelayManageOperate[Instance]";
+                    //方法的唯一标识符
+                    string MethodSN = "[RemoveISn]";
+                    //执行转发方法
+                    return reflectionOperate.ExecuteMethod($"{ClassSN}{MethodSN}", new object[] { ISn }) as OperateResult;
+                }
+                else
+                {
+                    return new OperateResult(false, $"反射状态 {reflectionOperate.ReflectionState} 不做此操作", 0.1);
+                }
             }
-            else
+            catch (Exception ex)
             {
-                return new OperateResult(false, $"反射状态 {reflectionOperate.ReflectionState} 不做此操作", 0.1);
+                return new OperateResult(false, $"转发事件注册异常:{ex.Message}", 0.1);
             }
         }
         /// <summary>
@@ -293,19 +328,26 @@ namespace YSAI.Core.data
         /// <returns>统一出参</returns>
         public static OperateResult On(string ISn)
         {
-            //反射状态为true才进行操作
-            if (reflectionOperate.ReflectionState)
+            try
             {
-                //类的唯一标识符
-                string ClassSN = "YSAI.RelayManage.RelayManageOperate[Instance]";
-                //方法的唯一标识符
-                string MethodSN = "[On]";
-                //执行转发方法
-                return reflectionOperate.ExecuteMethod($"{ClassSN}{MethodSN}", new object[] { ISn }) as OperateResult;
+                //反射状态为true才进行操作
+                if (reflectionOperate.ReflectionState)
+                {
+                    //类的唯一标识符
+                    string ClassSN = "YSAI.RelayManage.RelayManageOperate[Instance]";
+                    //方法的唯一标识符
+                    string MethodSN = "[On]";
+                    //执行转发方法
+                    return reflectionOperate.ExecuteMethod($"{ClassSN}{MethodSN}", new object[] { ISn }) as OperateResult;
+                }
+                else
+                {
+                    return new OperateResult(false, $"反射状态 {reflectionOperate.ReflectionState} 不做此操作", 0.1);
+                }
             }
-            else
+            catch (Exception ex)
             {
-                return new OperateResult(false, $"反射状态 {reflectionOperate.ReflectionState} 不做此操作", 0.1);
+                return new OperateResult(false, $"转发事件注册异常:{ex.Message}", 0.1);
             }
         }
         /// <summary>
@@ -315,19 +357,26 @@ namespace YSAI.Core.data
         /// <returns>统一出参</returns>
         public static OperateResult Off(string ISn)
         {
-            //反射状态为true才进行操作
-            if (reflectionOperate.ReflectionState)
+            try
             {
-                //类的唯一标识符
-                string ClassSN = "YSAI.RelayManage.RelayManageOperate[Instance]";
-                //方法的唯一标识符
-                string MethodSN = "[Off]";
-                //执行转发方法
-                return reflectionOperate.ExecuteMethod($"{ClassSN}{MethodSN}", new object[] { ISn }) as OperateResult;
+                //反射状态为true才进行操作
+                if (reflectionOperate.ReflectionState)
+                {
+                    //类的唯一标识符
+                    string ClassSN = "YSAI.RelayManage.RelayManageOperate[Instance]";
+                    //方法的唯一标识符
+                    string MethodSN = "[Off]";
+                    //执行转发方法
+                    return reflectionOperate.ExecuteMethod($"{ClassSN}{MethodSN}", new object[] { ISn }) as OperateResult;
+                }
+                else
+                {
+                    return new OperateResult(false, $"反射状态 {reflectionOperate.ReflectionState} 不做此操作", 0.1);
+                }
             }
-            else
+            catch (Exception ex)
             {
-                return new OperateResult(false, $"反射状态 {reflectionOperate.ReflectionState} 不做此操作", 0.1);
+                return new OperateResult(false, $"转发事件注册异常:{ex.Message}", 0.1);
             }
         }
         /// <summary>
@@ -336,19 +385,26 @@ namespace YSAI.Core.data
         /// <returns></returns>
         public static OperateResult RelayEventRegister(Action<object, object> action, bool Register = true)
         {
-            //反射状态为true才进行操作
-            if (reflectionOperate.ReflectionState)
+            try
             {
-                //类的唯一标识符
-                string ClassSN = "YSAI.RelayManage.RelayManageOperate[Instance]";
-                //事件的唯一标识符
-                string EventSN = "[OnEvent]";
-                //注册事件
-                return reflectionOperate.RegisterEvent($"{ClassSN}{EventSN}", Register, P2: action);
+                //反射状态为true才进行操作
+                if (reflectionOperate.ReflectionState)
+                {
+                    //类的唯一标识符
+                    string ClassSN = "YSAI.RelayManage.RelayManageOperate[Instance]";
+                    //事件的唯一标识符
+                    string EventSN = "[OnEvent]";
+                    //注册事件
+                    return reflectionOperate.RegisterEvent($"{ClassSN}{EventSN}", Register, P2: action);
+                }
+                else
+                {
+                    return new OperateResult(false, $"反射状态 {reflectionOperate.ReflectionState} 不做此操作", 0.1);
+                }
             }
-            else
+            catch (Exception ex)
             {
-                return new OperateResult(false, $"反射状态 {reflectionOperate.ReflectionState} 不做此操作", 0.1);
+                return new OperateResult(false, $"转发事件注册异常:{ex.Message}", 0.1);
             }
         }
 

+ 20 - 3
src/YSAI.DAQ/YSAI.Core/reflection/ReflectionOperate.cs

@@ -216,11 +216,28 @@ namespace YSAI.Core.reflection
                     //是不是绝对路径
                     if (DllData.IsAbsolutePath)
                     {
-                        assembly = Assembly.LoadFile(DllData.DllPath);
+                        if (File.Exists(DllData.DllPath))
+                        {
+                            assembly = Assembly.LoadFile(DllData.DllPath);
+                        }
+                        else
+                        {
+                            return Break("Init", false, $"{DllData.DllPath} 文件不存在");
+                        }
                     }
                     else
                     {
-                        assembly = Assembly.LoadFile(Path.Combine(AppDomain.CurrentDomain.BaseDirectory, DllData.DllPath));
+                        //文件路径拼接
+                        string path = Path.Combine(AppDomain.CurrentDomain.BaseDirectory, DllData.DllPath);
+                        //文件判断
+                        if (File.Exists(path))
+                        {
+                            assembly = Assembly.LoadFile(path);
+                        }
+                        else
+                        {
+                            return Break("Init", false, $"{path} 文件不存在");
+                        }
                     }
 
                     foreach (var NamespaceData in DllData.NamespaceDatas)
@@ -351,7 +368,7 @@ namespace YSAI.Core.reflection
             {
                 return Init(this.basics);
             }
-            throw new Exception("请设置反射DLL配置");
+            return Break(Depart("Init"), false, "请设置反射DLL配置");
         }
 
         /// <summary>

+ 57 - 7
src/YSAI.DAQ/YSAI.DAQ.sln

@@ -73,9 +73,23 @@ Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "lib", "lib", "{7EB5153B-770
 EndProject
 Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "windows", "windows", "{1856E9E1-33C4-45C1-832C-854F9BE1ACC4}"
 EndProject
-Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "scada", "scada", "{6C5A77B5-E246-41D2-A761-ACFF550D5255}"
+Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "pack", "pack", "{1EBA4FD7-DF52-49A0-8AA4-9E61ABC614F5}"
 EndProject
-Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "YSAI.SCADA", "YSAI.SCADA\YSAI.SCADA.csproj", "{D6C9C5DE-DBCF-40D0-96A6-02A88FBAA013}"
+Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "YSAI.DB.Pack", "YSAI.DB.Pack\YSAI.DB.Pack.csproj", "{76474288-450D-4553-BA0B-6ECB06BB48D8}"
+EndProject
+Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "YSAI.Modbus.Pack", "YSAI.Modbus.Pack\YSAI.Modbus.Pack.csproj", "{183B670D-6A3C-49AF-9558-4154824319CA}"
+EndProject
+Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "YSAI.Opc.Pack", "YSAI.Opc.Pack\YSAI.Opc.Pack.csproj", "{03C88A20-C849-49AF-BCA9-D2F78A7054F0}"
+EndProject
+Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "YSAI.S7.Pack", "YSAI.S7.Pack\YSAI.S7.Pack.csproj", "{C09178F0-6FEA-4C3B-B84D-89C355C96A13}"
+EndProject
+Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "YSAI.Kafka.Pack", "YSAI.Kafka.Pack\YSAI.Kafka.Pack.csproj", "{FA745761-1C35-40A8-8695-8114EAF4273F}"
+EndProject
+Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "YSAI.Mqtt.Pack", "YSAI.Mqtt.Pack\YSAI.Mqtt.Pack.csproj", "{690A2E26-908A-4AED-8689-01B23F5CFCBE}"
+EndProject
+Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "YSAI.RabbitMQ.Pack", "YSAI.RabbitMQ.Pack\YSAI.RabbitMQ.Pack.csproj", "{68C1433D-2DB7-499E-9225-CB8191891F8F}"
+EndProject
+Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "YSAI.Can.Pack", "YSAI.Can.Pack\YSAI.Can.Pack.csproj", "{940983FB-5DDE-4B13-BBA0-FDA1EEED6C02}"
 EndProject
 Global
 	GlobalSection(SolutionConfigurationPlatforms) = preSolution
@@ -191,10 +205,38 @@ Global
 		{623C8558-8901-4D69-B1AC-1615597E8B88}.Debug|Any CPU.Build.0 = Debug|Any CPU
 		{623C8558-8901-4D69-B1AC-1615597E8B88}.Release|Any CPU.ActiveCfg = Release|Any CPU
 		{623C8558-8901-4D69-B1AC-1615597E8B88}.Release|Any CPU.Build.0 = Release|Any CPU
-		{D6C9C5DE-DBCF-40D0-96A6-02A88FBAA013}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
-		{D6C9C5DE-DBCF-40D0-96A6-02A88FBAA013}.Debug|Any CPU.Build.0 = Debug|Any CPU
-		{D6C9C5DE-DBCF-40D0-96A6-02A88FBAA013}.Release|Any CPU.ActiveCfg = Release|Any CPU
-		{D6C9C5DE-DBCF-40D0-96A6-02A88FBAA013}.Release|Any CPU.Build.0 = Release|Any CPU
+		{76474288-450D-4553-BA0B-6ECB06BB48D8}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+		{76474288-450D-4553-BA0B-6ECB06BB48D8}.Debug|Any CPU.Build.0 = Debug|Any CPU
+		{76474288-450D-4553-BA0B-6ECB06BB48D8}.Release|Any CPU.ActiveCfg = Release|Any CPU
+		{76474288-450D-4553-BA0B-6ECB06BB48D8}.Release|Any CPU.Build.0 = Release|Any CPU
+		{183B670D-6A3C-49AF-9558-4154824319CA}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+		{183B670D-6A3C-49AF-9558-4154824319CA}.Debug|Any CPU.Build.0 = Debug|Any CPU
+		{183B670D-6A3C-49AF-9558-4154824319CA}.Release|Any CPU.ActiveCfg = Release|Any CPU
+		{183B670D-6A3C-49AF-9558-4154824319CA}.Release|Any CPU.Build.0 = Release|Any CPU
+		{03C88A20-C849-49AF-BCA9-D2F78A7054F0}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+		{03C88A20-C849-49AF-BCA9-D2F78A7054F0}.Debug|Any CPU.Build.0 = Debug|Any CPU
+		{03C88A20-C849-49AF-BCA9-D2F78A7054F0}.Release|Any CPU.ActiveCfg = Release|Any CPU
+		{03C88A20-C849-49AF-BCA9-D2F78A7054F0}.Release|Any CPU.Build.0 = Release|Any CPU
+		{C09178F0-6FEA-4C3B-B84D-89C355C96A13}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+		{C09178F0-6FEA-4C3B-B84D-89C355C96A13}.Debug|Any CPU.Build.0 = Debug|Any CPU
+		{C09178F0-6FEA-4C3B-B84D-89C355C96A13}.Release|Any CPU.ActiveCfg = Release|Any CPU
+		{C09178F0-6FEA-4C3B-B84D-89C355C96A13}.Release|Any CPU.Build.0 = Release|Any CPU
+		{FA745761-1C35-40A8-8695-8114EAF4273F}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+		{FA745761-1C35-40A8-8695-8114EAF4273F}.Debug|Any CPU.Build.0 = Debug|Any CPU
+		{FA745761-1C35-40A8-8695-8114EAF4273F}.Release|Any CPU.ActiveCfg = Release|Any CPU
+		{FA745761-1C35-40A8-8695-8114EAF4273F}.Release|Any CPU.Build.0 = Release|Any CPU
+		{690A2E26-908A-4AED-8689-01B23F5CFCBE}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+		{690A2E26-908A-4AED-8689-01B23F5CFCBE}.Debug|Any CPU.Build.0 = Debug|Any CPU
+		{690A2E26-908A-4AED-8689-01B23F5CFCBE}.Release|Any CPU.ActiveCfg = Release|Any CPU
+		{690A2E26-908A-4AED-8689-01B23F5CFCBE}.Release|Any CPU.Build.0 = Release|Any CPU
+		{68C1433D-2DB7-499E-9225-CB8191891F8F}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+		{68C1433D-2DB7-499E-9225-CB8191891F8F}.Debug|Any CPU.Build.0 = Debug|Any CPU
+		{68C1433D-2DB7-499E-9225-CB8191891F8F}.Release|Any CPU.ActiveCfg = Release|Any CPU
+		{68C1433D-2DB7-499E-9225-CB8191891F8F}.Release|Any CPU.Build.0 = Release|Any CPU
+		{940983FB-5DDE-4B13-BBA0-FDA1EEED6C02}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+		{940983FB-5DDE-4B13-BBA0-FDA1EEED6C02}.Debug|Any CPU.Build.0 = Debug|Any CPU
+		{940983FB-5DDE-4B13-BBA0-FDA1EEED6C02}.Release|Any CPU.ActiveCfg = Release|Any CPU
+		{940983FB-5DDE-4B13-BBA0-FDA1EEED6C02}.Release|Any CPU.Build.0 = Release|Any CPU
 	EndGlobalSection
 	GlobalSection(SolutionProperties) = preSolution
 		HideSolutionNode = FALSE
@@ -231,7 +273,15 @@ Global
 		{DD9020DC-A51F-48F2-83FA-A3F10A43220F} = {ECAD410C-2895-4836-BCA7-D4EF340E778E}
 		{623C8558-8901-4D69-B1AC-1615597E8B88} = {12CB0510-7B1E-4518-AA3B-412A4D323D42}
 		{1856E9E1-33C4-45C1-832C-854F9BE1ACC4} = {ECAD410C-2895-4836-BCA7-D4EF340E778E}
-		{D6C9C5DE-DBCF-40D0-96A6-02A88FBAA013} = {6C5A77B5-E246-41D2-A761-ACFF550D5255}
+		{1EBA4FD7-DF52-49A0-8AA4-9E61ABC614F5} = {7EB5153B-7702-4D7B-8592-FE6D992682AB}
+		{76474288-450D-4553-BA0B-6ECB06BB48D8} = {1EBA4FD7-DF52-49A0-8AA4-9E61ABC614F5}
+		{183B670D-6A3C-49AF-9558-4154824319CA} = {1EBA4FD7-DF52-49A0-8AA4-9E61ABC614F5}
+		{03C88A20-C849-49AF-BCA9-D2F78A7054F0} = {1EBA4FD7-DF52-49A0-8AA4-9E61ABC614F5}
+		{C09178F0-6FEA-4C3B-B84D-89C355C96A13} = {1EBA4FD7-DF52-49A0-8AA4-9E61ABC614F5}
+		{FA745761-1C35-40A8-8695-8114EAF4273F} = {1EBA4FD7-DF52-49A0-8AA4-9E61ABC614F5}
+		{690A2E26-908A-4AED-8689-01B23F5CFCBE} = {1EBA4FD7-DF52-49A0-8AA4-9E61ABC614F5}
+		{68C1433D-2DB7-499E-9225-CB8191891F8F} = {1EBA4FD7-DF52-49A0-8AA4-9E61ABC614F5}
+		{940983FB-5DDE-4B13-BBA0-FDA1EEED6C02} = {1EBA4FD7-DF52-49A0-8AA4-9E61ABC614F5}
 	EndGlobalSection
 	GlobalSection(ExtensibilityGlobals) = postSolution
 		SolutionGuid = {5D5D3927-6714-40C0-84EA-44C5BA4C5E87}

+ 1 - 1
src/YSAI.DAQ/YSAI.SCADA/Program.cs

@@ -1,4 +1,4 @@
-namespace YSAI.SCADA
+namespace YSAI.DB.Pack
 {
     internal class Program
     {

文件差異過大導致無法顯示
+ 16 - 0
src/YSAI.DAQ/YSAI.DB.Pack/YSAI.DB.Pack.csproj


+ 8 - 3
src/YSAI.DAQ/YSAI.DaqManage/DaqManageData.cs

@@ -32,16 +32,21 @@ namespace YSAI.DaqManage
             public string? LibConfigSNKey { get; set; } = "SN";
 
             /// <summary>
-            /// 配置文件名称的格式,SN与配置数据中的SN一致
-            /// 库配置:命名空间 + 类名.SN.Config.json
+            /// 动态库监控格式
             /// </summary>
-            public string? ConfigFileNameFormat { get; set; } = "{0}.*.Daq.Config.json";
+            public string? DllWatcherFormat { get; set; } = "YSAI.*.dll";
 
             /// <summary>
             /// 配置监控格式
             /// </summary>
             public string? ConfigWatcherFormat { get; set; } = "*.Daq.Config.json";
 
+            /// <summary>
+            /// 配置文件名称的格式,SN与配置数据中的SN一致
+            /// 库配置:命名空间 + 类名.SN.Config.json
+            /// </summary>
+            public string? ConfigFileNameFormat { get; set; } = "{0}.*.Daq.Config.json";
+
             /// <summary>
             /// 配置替换格式
             /// </summary>

+ 13 - 17
src/YSAI.DAQ/YSAI.DaqManage/DaqManageOperate.cs

@@ -151,18 +151,26 @@ namespace YSAI.DaqManage
 
                 if (basics != null)
                 {
-                    //检索
-                    Search();
-
                     //创建文件
                     if (!Directory.Exists(basics.LibFolder))
                     {
                         Directory.CreateDirectory(basics.LibFolder);
                     }
+                    //创建文件
+                    if (!Directory.Exists(basics.LibConfigFolder))
+                    {
+                        Directory.CreateDirectory(basics.LibConfigFolder);
+                    }
+
+
+                    //检索
+                    Search();
+
+                    
                     //文件夹监控
                     watcherLibFolder = new FileSystemWatcher(basics.LibFolder);
                     //监控的配置
-                    watcherLibFolder.Filter = "*.dll";
+                    watcherLibFolder.Filter = basics.DllWatcherFormat;
                     //当文件夹中新增文件
                     watcherLibFolder.Created += delegate (object sender, FileSystemEventArgs e) { Watcher_Created(sender, e, 0); };
                     //当文件夹中删除文件
@@ -170,11 +178,7 @@ namespace YSAI.DaqManage
                     //启动监听
                     watcherLibFolder.EnableRaisingEvents = true;
 
-                    //创建文件
-                    if (!Directory.Exists(basics.LibConfigFolder))
-                    {
-                        Directory.CreateDirectory(basics.LibConfigFolder);
-                    }
+                  
                     //文件夹监视
                     watcherLibConfigFolder = new FileSystemWatcher(basics.LibConfigFolder);
                     //监控的配置
@@ -206,7 +210,6 @@ namespace YSAI.DaqManage
             switch (Type)
             {
                 case 0:
-                    OnEventHandler?.Invoke(this, new EventResult(true, $"{e.Name} 文件被删除,移除此库程序集,并移除所有实例"));
                     //程序集ISn
                     TypeIocSN = e.Name.Replace(".dll", string.Empty);
 
@@ -278,7 +281,6 @@ namespace YSAI.DaqManage
             switch (Type)
             {
                 case 0:
-                    OnEventHandler?.Invoke(this, new EventResult(true, $"{e.Name} 文件新增,添加此库程序集"));
                     SearchType(e.FullPath);
                     break;
                 case 1:
@@ -391,17 +393,11 @@ namespace YSAI.DaqManage
                         typesArray.Add(type);
                     }
                 }
-                bool iocState = false;
                 //添加至集合
                 foreach (Type type in typesArray)
                 {
                     TypeIoc.TryAdd(type.FullName, type);
                     OnEventHandler?.Invoke(this, new EventResult(true, $"{type.FullName} 程序集添加成功"));
-                    iocState = true;
-                }
-                if (!iocState)
-                {
-                    OnEventHandler?.Invoke(this, new EventResult(false, $"未找到继承 {InterfaceFullName} 此接口的类"));
                 }
             }
             catch (Exception)

+ 10 - 0
src/YSAI.DAQ/YSAI.Kafka.Pack/Program.cs

@@ -0,0 +1,10 @@
+namespace YSAI.Kafka.Pack
+{
+    internal class Program
+    {
+        static void Main(string[] args)
+        {
+            Console.WriteLine("Hello, World!");
+        }
+    }
+}

文件差異過大導致無法顯示
+ 16 - 0
src/YSAI.DAQ/YSAI.Kafka.Pack/YSAI.Kafka.Pack.csproj


+ 64 - 73
src/YSAI.DAQ/YSAI.Manage/Controllers/InfoOperateController.cs

@@ -1,15 +1,6 @@
 using Microsoft.AspNetCore.Mvc;
 using YSAI.Core.@enum;
 using YSAI.Core.data;
-using YSAI.DB;
-using YSAI.Kafka;
-using YSAI.Modbus.client;
-using YSAI.Mqtt.client;
-using YSAI.Opc.da.client;
-using YSAI.Opc.da.http;
-using YSAI.Opc.ua.client;
-using YSAI.RabbitMQ;
-using YSAI.S7.client;
 using YSAI.Unility;
 
 namespace YSAI.Manage.Controllers
@@ -21,70 +12,70 @@ namespace YSAI.Manage.Controllers
     [Route("api/[controller]/[action]")]
     public class InfoOperateController : Controller
     {
-        /// <summary>
-        /// 参数
-        /// </summary>
-        /// <param name="DType">库类型</param>
-        /// <returns>统一出参</returns>
-        [HttpGet]
-        public object Param(LibType DType)
-        {
-            switch (DType)
-            {
-                case LibType.DB:
-                    return new DBData.Basics();
-                case LibType.Modbus:
-                    return new ModbusClientData.Basics();
-                case LibType.OpcUa:
-                    return new OpcUaClientData.Basics();
-                case LibType.OpcDa:
-                    return new OpcDaClientData.Basics();
-                case LibType.OpcDaHttp:
-                    return new OpcDaHttpData.Basics();
-                case LibType.S7:
-                    return new S7ClientData.Basics();
-                case LibType.Kafka:
-                    return new KafkaData.Basics();
-                case LibType.Mqtt:
-                    return new MqttClientData.Basics();
-                case LibType.RabbitMQ:
-                    return new RabbitMQData.Basics();
-                default:
-                    return new OperateResult(false, "输入有误", 0.1);
-            }
-        }
+        ///// <summary>
+        ///// 参数
+        ///// </summary>
+        ///// <param name="DType">库类型</param>
+        ///// <returns>统一出参</returns>
+        //[HttpGet]
+        //public object Param(LibType DType)
+        //{
+        //    switch (DType)
+        //    {
+        //        case LibType.DB:
+        //            return new DBData.Basics();
+        //        case LibType.Modbus:
+        //            return new ModbusClientData.Basics();
+        //        case LibType.OpcUa:
+        //            return new OpcUaClientData.Basics();
+        //        case LibType.OpcDa:
+        //            return new OpcDaClientData.Basics();
+        //        case LibType.OpcDaHttp:
+        //            return new OpcDaHttpData.Basics();
+        //        case LibType.S7:
+        //            return new S7ClientData.Basics();
+        //        case LibType.Kafka:
+        //            return new KafkaData.Basics();
+        //        case LibType.Mqtt:
+        //            return new MqttClientData.Basics();
+        //        case LibType.RabbitMQ:
+        //            return new RabbitMQData.Basics();
+        //        default:
+        //            return new OperateResult(false, "输入有误", 0.1);
+        //    }
+        //}
 
-        /// <summary>
-        /// 参数详情
-        /// </summary>
-        /// <param name="DType">库类型</param>
-        /// <returns>统一出参</returns>
-        [HttpGet]
-        public OperateResult ParamDetails(LibType DType)
-        {
-            switch (DType)
-            {
-                case LibType.DB:
-                    return new OperateResult(true, string.Empty, 0.1, RData: ReflexTool.GetClassAllPropertyData<DBData.Basics>(), RType: ResultType.Json);
-                case LibType.Modbus:
-                    return new OperateResult(true, string.Empty, 0.1, RData: ReflexTool.GetClassAllPropertyData<ModbusClientData.Basics>(), RType: ResultType.Json);
-                case LibType.OpcUa:
-                    return new OperateResult(true, string.Empty, 0.1, RData: ReflexTool.GetClassAllPropertyData<OpcUaClientData.Basics>(), RType: ResultType.Json);
-                case LibType.OpcDa:
-                    return new OperateResult(true, string.Empty, 0.1, RData: ReflexTool.GetClassAllPropertyData<OpcDaClientData.Basics>(), RType: ResultType.Json);
-                case LibType.OpcDaHttp:
-                    return new OperateResult(true, string.Empty, 0.1, RData: ReflexTool.GetClassAllPropertyData<OpcDaHttpData.Basics>(), RType: ResultType.Json);
-                case LibType.S7:
-                    return new OperateResult(true, string.Empty, 0.1, RData: ReflexTool.GetClassAllPropertyData<S7ClientData.Basics>(), RType: ResultType.Json);
-                case LibType.Kafka:
-                    return new OperateResult(true, string.Empty, 0.1, RData: ReflexTool.GetClassAllPropertyData<KafkaData.Basics>(), RType: ResultType.Json);
-                case LibType.Mqtt:
-                    return new OperateResult(true, string.Empty, 0.1, RData: ReflexTool.GetClassAllPropertyData<MqttClientData.Basics>(), RType: ResultType.Json);
-                case LibType.RabbitMQ:
-                    return new OperateResult(true, string.Empty, 0.1, RData: ReflexTool.GetClassAllPropertyData<RabbitMQData.Basics>(), RType: ResultType.Json);
-                default:
-                    return new OperateResult(false, "输入有误", 0.1);
-            }
-        }
+        ///// <summary>
+        ///// 参数详情
+        ///// </summary>
+        ///// <param name="DType">库类型</param>
+        ///// <returns>统一出参</returns>
+        //[HttpGet]
+        //public OperateResult ParamDetails(LibType DType)
+        //{
+        //    switch (DType)
+        //    {
+        //        case LibType.DB:
+        //            return new OperateResult(true, string.Empty, 0.1, RData: ReflexTool.GetClassAllPropertyData<DBData.Basics>(), RType: ResultType.Json);
+        //        case LibType.Modbus:
+        //            return new OperateResult(true, string.Empty, 0.1, RData: ReflexTool.GetClassAllPropertyData<ModbusClientData.Basics>(), RType: ResultType.Json);
+        //        case LibType.OpcUa:
+        //            return new OperateResult(true, string.Empty, 0.1, RData: ReflexTool.GetClassAllPropertyData<OpcUaClientData.Basics>(), RType: ResultType.Json);
+        //        case LibType.OpcDa:
+        //            return new OperateResult(true, string.Empty, 0.1, RData: ReflexTool.GetClassAllPropertyData<OpcDaClientData.Basics>(), RType: ResultType.Json);
+        //        case LibType.OpcDaHttp:
+        //            return new OperateResult(true, string.Empty, 0.1, RData: ReflexTool.GetClassAllPropertyData<OpcDaHttpData.Basics>(), RType: ResultType.Json);
+        //        case LibType.S7:
+        //            return new OperateResult(true, string.Empty, 0.1, RData: ReflexTool.GetClassAllPropertyData<S7ClientData.Basics>(), RType: ResultType.Json);
+        //        case LibType.Kafka:
+        //            return new OperateResult(true, string.Empty, 0.1, RData: ReflexTool.GetClassAllPropertyData<KafkaData.Basics>(), RType: ResultType.Json);
+        //        case LibType.Mqtt:
+        //            return new OperateResult(true, string.Empty, 0.1, RData: ReflexTool.GetClassAllPropertyData<MqttClientData.Basics>(), RType: ResultType.Json);
+        //        case LibType.RabbitMQ:
+        //            return new OperateResult(true, string.Empty, 0.1, RData: ReflexTool.GetClassAllPropertyData<RabbitMQData.Basics>(), RType: ResultType.Json);
+        //        default:
+        //            return new OperateResult(false, "输入有误", 0.1);
+        //    }
+        //}
     }
 }

+ 0 - 2
src/YSAI.DAQ/YSAI.Manage/Program.cs

@@ -3,7 +3,6 @@ using System.Reflection;
 using System.Text.Json.Serialization;
 using YSAI.Core.data;
 using YSAI.DaqManage;
-using YSAI.RelayManage;
 using YSAI.Unility;
 
 namespace YSAI.Manage
@@ -32,7 +31,6 @@ namespace YSAI.Manage
             daqManageOperate.OnEvent += DaqEvent;
             AddressHandler.RelayEventRegister(RelayEvent);
 
-
             var builder = WebApplication.CreateBuilder(args);
 
             // Add services to the container.

+ 4 - 7
src/YSAI.DAQ/YSAI.Manage/YSAI.Manage.csproj

@@ -25,14 +25,11 @@
   <ItemGroup>
     <ProjectReference Include="..\YSAI.Core\YSAI.Core.csproj" />
     <ProjectReference Include="..\YSAI.DaqManage\YSAI.DaqManage.csproj" />
-    <ProjectReference Include="..\YSAI.DB\YSAI.DB.csproj" />
-    <ProjectReference Include="..\YSAI.Kafka\YSAI.Kafka.csproj" />
-    <ProjectReference Include="..\YSAI.Modbus\YSAI.Modbus.csproj" />
-    <ProjectReference Include="..\YSAI.Mqtt\YSAI.Mqtt.csproj" />
-    <ProjectReference Include="..\YSAI.Opc\YSAI.Opc.csproj" />
-    <ProjectReference Include="..\YSAI.RabbitMQ\YSAI.RabbitMQ.csproj" />
     <ProjectReference Include="..\YSAI.RelayManage\YSAI.RelayManage.csproj" />
-    <ProjectReference Include="..\YSAI.S7\YSAI.S7.csproj" />
+  </ItemGroup>
+
+  <ItemGroup>
+    <Folder Include="param\" />
   </ItemGroup>
 
 </Project>

+ 10 - 0
src/YSAI.DAQ/YSAI.Modbus.Pack/Program.cs

@@ -0,0 +1,10 @@
+namespace YSAI.Modbus.Pack
+{
+    internal class Program
+    {
+        static void Main(string[] args)
+        {
+            Console.WriteLine("Hello, World!");
+        }
+    }
+}

文件差異過大導致無法顯示
+ 16 - 0
src/YSAI.DAQ/YSAI.Modbus.Pack/YSAI.Modbus.Pack.csproj


+ 10 - 0
src/YSAI.DAQ/YSAI.Mqtt.Pack/Program.cs

@@ -0,0 +1,10 @@
+namespace YSAI.Mqtt.Pack
+{
+    internal class Program
+    {
+        static void Main(string[] args)
+        {
+            Console.WriteLine("Hello, World!");
+        }
+    }
+}

文件差異過大導致無法顯示
+ 16 - 0
src/YSAI.DAQ/YSAI.Mqtt.Pack/YSAI.Mqtt.Pack.csproj


+ 10 - 0
src/YSAI.DAQ/YSAI.Opc.Pack/Program.cs

@@ -0,0 +1,10 @@
+namespace YSAI.Opc.Pack
+{
+    internal class Program
+    {
+        static void Main(string[] args)
+        {
+            Console.WriteLine("Hello, World!");
+        }
+    }
+}

文件差異過大導致無法顯示
+ 16 - 0
src/YSAI.DAQ/YSAI.Opc.Pack/YSAI.Opc.Pack.csproj


+ 1 - 0
src/YSAI.DAQ/YSAI.Opc/YSAI.Opc.csproj

@@ -32,6 +32,7 @@
 
   <ItemGroup>
     <Folder Include="da\lib\" />
+    <Folder Include="Properties\" />
   </ItemGroup>
 
 </Project>

+ 10 - 0
src/YSAI.DAQ/YSAI.RabbitMQ.Pack/Program.cs

@@ -0,0 +1,10 @@
+namespace YSAI.RabbitMQ.Pack
+{
+    internal class Program
+    {
+        static void Main(string[] args)
+        {
+            Console.WriteLine("Hello, World!");
+        }
+    }
+}

文件差異過大導致無法顯示
+ 16 - 0
src/YSAI.DAQ/YSAI.RabbitMQ.Pack/YSAI.RabbitMQ.Pack.csproj


+ 9 - 3
src/YSAI.DAQ/YSAI.RelayManage/RelayManageData.cs

@@ -28,16 +28,22 @@ namespace YSAI.RelayManage
             public string? LibConfigSNKey { get; set; } = "SN";
 
             /// <summary>
-            /// 配置文件名称的格式 * 与配置数据中的SN一致
-            /// 库配置:命名空间 + 类名.SN.Config.json
+            /// 动态库监控格式
             /// </summary>
-            public string? ConfigFileNameFormat { get; set; } = "{0}.*.Relay.Config.json";
+            public string? DllWatcherFormat { get; set; } = "YSAI.*.dll";
 
             /// <summary>
             /// 配置监控格式
             /// </summary>
             public string? ConfigWatcherFormat { get; set; } = "*.Relay.Config.json";
 
+            /// <summary>
+            /// 配置文件名称的格式 * 与配置数据中的SN一致
+            /// 库配置:命名空间 + 类名.SN.Config.json
+            /// </summary>
+            public string? ConfigFileNameFormat { get; set; } = "{0}.*.Relay.Config.json";
+
+           
             /// <summary>
             /// 配置替换格式
             /// </summary>

+ 13 - 17
src/YSAI.DAQ/YSAI.RelayManage/RelayManageOperate.cs

@@ -186,18 +186,26 @@ namespace YSAI.RelayManage
 
                 if (basics != null)
                 {
-                    //检索
-                    Search();
-
                     //创建文件
                     if (!Directory.Exists(basics.LibFolder))
                     {
                         Directory.CreateDirectory(basics.LibFolder);
                     }
+                    //创建文件
+                    if (!Directory.Exists(basics.LibConfigFolder))
+                    {
+                        Directory.CreateDirectory(basics.LibConfigFolder);
+                    }
+
+
+                    //检索
+                    Search();
+
+
                     //文件夹监控
                     watcherLibFolder = new FileSystemWatcher(basics.LibFolder);
                     //监控的配置
-                    watcherLibFolder.Filter = "*.dll";
+                    watcherLibFolder.Filter = basics.DllWatcherFormat;
                     //当文件夹中新增文件
                     watcherLibFolder.Created += delegate (object sender, FileSystemEventArgs e) { Watcher_Created(sender, e, 0); };
                     //当文件夹中删除文件
@@ -205,11 +213,7 @@ namespace YSAI.RelayManage
                     //启动监听
                     watcherLibFolder.EnableRaisingEvents = true;
 
-                    //创建文件
-                    if (!Directory.Exists(basics.LibConfigFolder))
-                    {
-                        Directory.CreateDirectory(basics.LibConfigFolder);
-                    }
+
                     //文件夹监视
                     watcherLibConfigFolder = new FileSystemWatcher(basics.LibConfigFolder);
                     //监控的配置
@@ -242,7 +246,6 @@ namespace YSAI.RelayManage
             switch (Type)
             {
                 case 0:
-                    OnEventHandler?.Invoke(this, new EventResult(true, $"{e.Name} 文件被删除,移除此库程序集,并移除所有实例"));
                     //程序集ISn
                     TypeIocSN = e.Name.Replace(".dll", string.Empty);
 
@@ -314,7 +317,6 @@ namespace YSAI.RelayManage
             switch (Type)
             {
                 case 0:
-                    OnEventHandler?.Invoke(this, new EventResult(true, $"{e.Name} 文件新增,添加此库程序集"));
                     SearchType(e.FullPath);
                     break;
                 case 1:
@@ -427,17 +429,11 @@ namespace YSAI.RelayManage
                         typesArray.Add(type);
                     }
                 }
-                bool iocState = false;
                 //添加至集合
                 foreach (Type type in typesArray)
                 {
                     TypeIoc.TryAdd(type.FullName, type);
                     OnEventHandler?.Invoke(this, new EventResult(true, $"{type.FullName} 程序集添加成功"));
-                    iocState = true;
-                }
-                if (!iocState)
-                {
-                    OnEventHandler?.Invoke(this, new EventResult(false, $"未找到继承 {InterfaceFullName} 此接口的类"));
                 }
             }
             catch (Exception)

+ 10 - 0
src/YSAI.DAQ/YSAI.S7.Pack/Program.cs

@@ -0,0 +1,10 @@
+namespace YSAI.S7.Pack
+{
+    internal class Program
+    {
+        static void Main(string[] args)
+        {
+            Console.WriteLine("Hello, World!");
+        }
+    }
+}

文件差異過大導致無法顯示
+ 16 - 0
src/YSAI.DAQ/YSAI.S7.Pack/YSAI.S7.Pack.csproj


文件差異過大導致無法顯示
+ 0 - 24
src/YSAI.DAQ/YSAI.SCADA/YSAI.SCADA.csproj