private static void OnAssemblyLoad(object sender, AssemblyLoadEventArgs args) { // Renew the cached array instead of adding the newly loaded assembly instance // to avoid potential iteration on "Instances" property while adding element to it. RefreshAssemblies(); AssemblyLoaded?.Invoke(args.LoadedAssembly); }
static KnownAssemblies() { #if __PCL__ #elif __NETCORE__ #else var domain = AppDomain.CurrentDomain; domain.AssemblyLoad += (o, e) => AssemblyLoaded?.Invoke(e.LoadedAssembly); #endif }
static KnownAssemblies() { var domain = AppDomain.CurrentDomain; foreach (var ass in domain.GetAssemblies()) { assemblies[ass.GetName().Name] = ass; } domain.AssemblyLoad += (o, e) => { var ass = e.LoadedAssembly; assemblies[ass.GetName().Name] = ass; AssemblyLoaded?.Invoke(ass); }; }
private void WhenAssemblyReceived(string assemblyName, string version) { AssemblyLoaded?.Invoke(this, new AssemblyNotificationEventArgs(assemblyName, version)); }
/// <summary> /// Raises the <see cref="AssemblyLoaded"/> event if someone is registered. /// </summary> protected virtual void RaiseAssemblyLoaded(AssemblyConfig assemblyConfig) { AssemblyLoaded?.Invoke(this, assemblyConfig); }
protected void OnAssemblyLoaded(Assembly assembly) { AssemblyLoaded?.Invoke(this, new AssemblyLoadEventArgs(assembly)); }