public static Assembly loadResourceAsAssembly(string name, string resourceName, Assembly currentAssembly) { var assemblyBytes = getAssemblyAsBytesFromResource(name, resourceName, currentAssembly); if (assemblyBytes == null) { return(null); } var assembly = Assembly.Load(assemblyBytes); if (assembly.isNull()) { return(null); } LoadedEmbeddedAssemblies.add(assembly.GetName().str(), assemblyBytes); return(assembly); }
public static string saveEmbeddedAssemblyToDisk(AssemblyName assemblyName) { if (LoadedEmbeddedAssemblies.ContainsKey(assemblyName.str())) { return(saveAssemblyBytesToDisk(assemblyName.Name, LoadedEmbeddedAssemblies[assemblyName.str()])); } //if not there try to reload it from the current loaded assemblies var assembly = loadFromEmbededResources(assemblyName.Name); if (assembly.notNull()) { if (LoadedEmbeddedAssemblies.ContainsKey(assemblyName.str())) { return(saveAssemblyBytesToDisk(assemblyName.Name, LoadedEmbeddedAssemblies[assemblyName.str()])); } } return(null); }