Skip missed satellite assemblies forlders

This commit is contained in:
hishamco 2020-10-03 23:26:44 +03:00
parent 40524300bf
commit ce37d2f2d2
2 changed files with 35 additions and 20 deletions

View File

@ -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.");
}
}

View File

@ -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.");
}
}
}