From 7ff298c6834275b63b612af49651673689a39660 Mon Sep 17 00:00:00 2001
From: hutongqing <hutongqing@hnkhzn.com>
Date: 星期三, 27 十一月 2024 11:33:18 +0800
Subject: [PATCH] 更新

---
 WIDESEAWCS_Server/WIDESEAWCS_Core/Helper/RuntimeExtension.cs |   20 +++++++++++---------
 1 files changed, 11 insertions(+), 9 deletions(-)

diff --git a/WIDESEAWCS_Server/WIDESEAWCS_Core/Helper/RuntimeExtension.cs b/WIDESEAWCS_Server/WIDESEAWCS_Core/Helper/RuntimeExtension.cs
index cdd52bf..44ab7ab 100644
--- a/WIDESEAWCS_Server/WIDESEAWCS_Core/Helper/RuntimeExtension.cs
+++ b/WIDESEAWCS_Server/WIDESEAWCS_Core/Helper/RuntimeExtension.cs
@@ -12,30 +12,32 @@
 {
     public static class RuntimeExtension
     {
+        private static readonly List<string> ProjectAssemblies =new() { "WIDESEAWCS" };
         /// <summary>
         /// 鑾峰彇椤圭洰绋嬪簭闆嗭紝鎺掗櫎鎵�鏈夌殑绯荤粺绋嬪簭闆�(Microsoft.***銆丼ystem.***绛�)銆丯uget涓嬭浇鍖�
         /// </summary>
         /// <returns></returns>
         public static IList<Assembly> GetAllAssemblies()
         {
-            var list = new List<Assembly>();
-            var deps = DependencyContext.Default;
-            //鍙姞杞介」鐩腑鐨勭▼搴忛泦
-            var libs = deps.CompileLibraries.Where(lib => !lib.Serviceable && lib.Type == "project"); //鎺掗櫎鎵�鏈夌殑绯荤粺绋嬪簭闆嗐�丯uget涓嬭浇鍖�
-            foreach (var lib in libs)
+            var assemblies = new List<Assembly>();
+            var dllFiles = Directory.GetFiles(AppDomain.CurrentDomain.BaseDirectory, "*.dll");
+
+            foreach (var dllFile in dllFiles)
             {
+                var fileName = Path.GetFileNameWithoutExtension(dllFile);
+                if (!ProjectAssemblies.Any(s => fileName.StartsWith(s))) continue;
                 try
                 {
-                    var assembly = AssemblyLoadContext.Default.LoadFromAssemblyName(new AssemblyName(lib.Name));
-                    list.Add(assembly);
+                    var assembly = AssemblyLoadContext.Default.LoadFromAssemblyPath(dllFile);
+                    assemblies.Add(assembly);
                 }
                 catch (Exception e)
                 {
-                    //Log.Debug(e, "GetAllAssemblies Exception:{ex}", e.Message);
+                    Console.WriteLine($"Failed to load assembly: {fileName}. Error: {e.Message}");
                 }
             }
 
-            return list;
+            return assemblies;
         }
 
         public static Assembly GetAssembly(string assemblyName)

--
Gitblit v1.9.3