diff --git a/Oqtane.Client/Services/ModuleDefinitionService.cs b/Oqtane.Client/Services/ModuleDefinitionService.cs index 31fff1ba..ffd28632 100644 --- a/Oqtane.Client/Services/ModuleDefinitionService.cs +++ b/Oqtane.Client/Services/ModuleDefinitionService.cs @@ -30,13 +30,15 @@ namespace Oqtane.Services public async Task> GetModuleDefinitionsAsync() { + // get list of modules from the server List moduledefinitions = await http.GetJsonAsync>(apiurl); - // get list of loaded assemblies + // get list of loaded assemblies on the client ( in the client-side hosting module the browser client has its own app domain ) Assembly[] assemblies = AppDomain.CurrentDomain.GetAssemblies(); foreach (ModuleDefinition moduledefinition in moduledefinitions) { + // if a module has dependencies, check if they are loaded if (moduledefinition.Dependencies != "") { foreach (string dependency in moduledefinition.Dependencies.Split(new char[] { ';' }, StringSplitOptions.RemoveEmptyEntries)) @@ -50,6 +52,7 @@ namespace Oqtane.Services } } } + // check if the module assembly is loaded if (assemblies.Where(item => item.FullName.StartsWith(moduledefinition.AssemblyName + ",")).FirstOrDefault() == null) { // download assembly from server and load diff --git a/Oqtane.Client/Shared/ModuleInstance.razor b/Oqtane.Client/Shared/ModuleInstance.razor index 3c8e3e37..a1d3548e 100644 --- a/Oqtane.Client/Shared/ModuleInstance.razor +++ b/Oqtane.Client/Shared/ModuleInstance.razor @@ -34,8 +34,8 @@ } else { - // module does not exist with typename specified - builder.OpenComponent(0, Type.GetType(Constants.ModuleMessageControl)); + // module does not exist with typename specified + builder.OpenComponent(0, Type.GetType(Constants.ModuleMessageControl)); builder.AddAttribute(1, "Type", MessageType.Error); builder.AddAttribute(2, "Message", "Error Loading Component For Module " + ModuleState.ModuleDefinitionName); builder.CloseComponent(); diff --git a/Oqtane.Server/Oqtane.Server.csproj b/Oqtane.Server/Oqtane.Server.csproj index c3a1dce1..0bb6003b 100644 --- a/Oqtane.Server/Oqtane.Server.csproj +++ b/Oqtane.Server/Oqtane.Server.csproj @@ -41,8 +41,8 @@ - - + +