Skip missed satellite assemblies forlders
This commit is contained in:
		| @ -79,14 +79,22 @@ namespace Oqtane.Controllers | ||||
|                 // Get the satellite assemblies | ||||
|                 foreach (var culture in _localizationManager.GetSupportedCultures()) | ||||
|                 { | ||||
|                     var assembliesFolderPath = Path.Combine(binFolder, culture); | ||||
|                     if (culture == Constants.DefaultCulture) | ||||
|                     { | ||||
|                         continue; | ||||
|                     } | ||||
|  | ||||
|                     foreach (var resourceFile in Directory.EnumerateFiles(Path.Combine(binFolder, culture))) | ||||
|                     if(Directory.Exists(assembliesFolderPath)) | ||||
|                     { | ||||
|                         list.Add(Path.Combine(culture, Path.GetFileNameWithoutExtension(resourceFile))); | ||||
|                         foreach (var resourceFile in Directory.EnumerateFiles(assembliesFolderPath)) | ||||
|                         { | ||||
|                             list.Add(Path.Combine(culture, Path.GetFileNameWithoutExtension(resourceFile))); | ||||
|                         } | ||||
|                     } | ||||
|                     else | ||||
|                     { | ||||
|                         Console.WriteLine($"The satellite assemblies folder named '{culture}' is not found."); | ||||
|                     } | ||||
|                 } | ||||
|  | ||||
|  | ||||
| @ -141,29 +141,36 @@ namespace Microsoft.Extensions.DependencyInjection | ||||
|                 } | ||||
|  | ||||
|                 var assembliesFolder = new DirectoryInfo(Path.Combine(assemblyPath, culture)); | ||||
|                 foreach (var assemblyFile in assembliesFolder.EnumerateFiles(Constants.StalliteAssemblyExtension)) | ||||
|                 if (assembliesFolder.Exists) | ||||
|                 { | ||||
|                     AssemblyName assemblyName; | ||||
|                     try | ||||
|                     foreach (var assemblyFile in assembliesFolder.EnumerateFiles(Constants.StalliteAssemblyExtension)) | ||||
|                     { | ||||
|                         assemblyName = AssemblyName.GetAssemblyName(assemblyFile.FullName); | ||||
|                     } | ||||
|                     catch | ||||
|                     { | ||||
|                         Console.WriteLine($"Not Satellite Assembly : {assemblyFile.Name}"); | ||||
|                         continue; | ||||
|                     } | ||||
|                         AssemblyName assemblyName; | ||||
|                         try | ||||
|                         { | ||||
|                             assemblyName = AssemblyName.GetAssemblyName(assemblyFile.FullName); | ||||
|                         } | ||||
|                         catch | ||||
|                         { | ||||
|                             Console.WriteLine($"Not Satellite Assembly : {assemblyFile.Name}"); | ||||
|                             continue; | ||||
|                         } | ||||
|  | ||||
|                     try | ||||
|                     { | ||||
|                         Assembly assembly = AssemblyLoadContext.Default.LoadFromStream(new MemoryStream(File.ReadAllBytes(assemblyFile.FullName))); | ||||
|                         Console.WriteLine($"Loaded : {assemblyName}"); | ||||
|                     } | ||||
|                     catch (Exception e) | ||||
|                     { | ||||
|                         Console.WriteLine($"Failed : {assemblyName}\n{e}"); | ||||
|                         try | ||||
|                         { | ||||
|                             Assembly assembly = AssemblyLoadContext.Default.LoadFromStream(new MemoryStream(File.ReadAllBytes(assemblyFile.FullName))); | ||||
|                             Console.WriteLine($"Loaded : {assemblyName}"); | ||||
|                         } | ||||
|                         catch (Exception e) | ||||
|                         { | ||||
|                             Console.WriteLine($"Failed : {assemblyName}\n{e}"); | ||||
|                         } | ||||
|                     } | ||||
|                 } | ||||
|                 else | ||||
|                 { | ||||
|                     Console.WriteLine($"The satellite assemblies folder named '{culture}' is not found."); | ||||
|                 } | ||||
|             } | ||||
|         } | ||||
|  | ||||
|  | ||||
		Reference in New Issue
	
	Block a user
	 hishamco
					hishamco