@@ -151,11 +151,26 @@ public static void LoadPlugins(PluginsSettings settings)
151151            _metadatas  =  PluginConfig . Parse ( Directories ) ; 
152152            Settings  =  settings ; 
153153            Settings . UpdatePluginSettings ( _metadatas ) ; 
154+             // Update Json RPC plugin directory before loading plugins so that we can pass the correct plugin directory 
155+             UpdateJsonRPCPluginDirectory ( _metadatas ) ; 
154156            AllPlugins  =  PluginsLoader . Plugins ( _metadatas ,  Settings ) ; 
155-             UpdatePluginDirectory ( _metadatas ) ; 
157+             // Update dotnet plugin directory after loading plugins because we need to get assembly name first 
158+             UpdateNotNetPluginDirectory ( _metadatas ) ; 
156159        } 
157160
158-         private  static   void  UpdatePluginDirectory ( List < PluginMetadata >  metadatas ) 
161+         private  static   void  UpdateJsonRPCPluginDirectory ( List < PluginMetadata >  metadatas ) 
162+         { 
163+             foreach  ( var  metadata  in  metadatas ) 
164+             { 
165+                 if  ( ! AllowedLanguage . IsDotNet ( metadata . Language ) ) 
166+                 { 
167+                     metadata . PluginSettingsDirectoryPath  =  Path . Combine ( DataLocation . PluginSettingsDirectory ,  metadata . Name ) ; 
168+                     metadata . PluginCacheDirectoryPath  =  Path . Combine ( DataLocation . PluginCacheDirectory ,  metadata . Name ) ; 
169+                 } 
170+             } 
171+         } 
172+ 
173+         private  static   void  UpdateNotNetPluginDirectory ( List < PluginMetadata >  metadatas ) 
159174        { 
160175            foreach  ( var  metadata  in  metadatas ) 
161176            { 
@@ -164,11 +179,6 @@ private static void UpdatePluginDirectory(List<PluginMetadata> metadatas)
164179                    metadata . PluginSettingsDirectoryPath  =  Path . Combine ( DataLocation . PluginSettingsDirectory ,  metadata . AssemblyName ) ; 
165180                    metadata . PluginCacheDirectoryPath  =  Path . Combine ( DataLocation . PluginCacheDirectory ,  metadata . AssemblyName ) ; 
166181                } 
167-                 else 
168-                 { 
169-                     metadata . PluginSettingsDirectoryPath  =  Path . Combine ( DataLocation . PluginSettingsDirectory ,  metadata . Name ) ; 
170-                     metadata . PluginCacheDirectoryPath  =  Path . Combine ( DataLocation . PluginCacheDirectory ,  metadata . Name ) ; 
171-                 } 
172182            } 
173183        } 
174184
0 commit comments