File tree Expand file tree Collapse file tree
src/Riven.Modular/Modular/PlugIns Expand file tree Collapse file tree Original file line number Diff line number Diff line change 1+ ## Release V0.0.7
2+ * 文件夹插件源加载 native dll bug修复
3+
14## Release V0.0.6
25* 增加模块插件支持
36 * FolderPlugInSource 文件夹插件源
Original file line number Diff line number Diff line change 11using JetBrains . Annotations ;
2+
23using System ;
34using System . Collections . Generic ;
45using System . IO ;
@@ -33,7 +34,8 @@ public Type[] GetModules()
3334 {
3435 var modules = new List < Type > ( ) ;
3536
36- foreach ( var assembly in GetAssemblies ( ) )
37+ var assemblies = GetAssemblies ( ) ;
38+ foreach ( var assembly in assemblies )
3739 {
3840 try
3941 {
@@ -54,16 +56,30 @@ public Type[] GetModules()
5456 return modules . ToArray ( ) ;
5557 }
5658
57- protected virtual IEnumerable < Assembly > GetAssemblies ( )
59+ protected virtual List < Assembly > GetAssemblies ( )
5860 {
59- var assemblyFiles = this . GetAssemblyFiles ( Folder , SearchOption ) ;
61+ var assemblies = new List < Assembly > ( ) ;
62+
63+ var assemblyFilePaths = this . GetAssemblyFiles ( Folder , SearchOption ) . ToList ( ) ;
6064
6165 if ( Filter != null )
6266 {
63- assemblyFiles = assemblyFiles . Where ( Filter ) ;
67+ assemblyFilePaths = ( List < string > ) assemblyFilePaths . Where ( Filter ) ;
68+ }
69+
70+ foreach ( var assemblyFile in assemblyFilePaths )
71+ {
72+
73+ try
74+ {
75+ assemblies . Add ( AssemblyLoadContext . Default . LoadFromAssemblyPath ( assemblyFile ) ) ;
76+ }
77+ catch
78+ {
79+ }
6480 }
6581
66- return assemblyFiles . Select ( AssemblyLoadContext . Default . LoadFromAssemblyPath ) ;
82+ return assemblies ;
6783 }
6884
6985 protected virtual IEnumerable < string > GetAssemblyFiles ( string folderPath , SearchOption searchOption )
Original file line number Diff line number Diff line change 11<Project >
22
33 <PropertyGroup >
4- <Version >0.0.6 </Version >
4+ <Version >0.0.7 </Version >
55 </PropertyGroup >
66
77</Project >
You can’t perform that action at this time.
0 commit comments