Example #1
0
 private static void RegisterAssembly(Assembly assembly)
 {
     AssemblyName[] refAsm = new AssemblyName[0];
     try {
         refAsm = assembly.GetReferencedAssemblies();
     } catch { }
     if (NeedProcess(assembly) && (assembly == typeof(SPModel).Assembly || refAsm.Any(v => AssemblyName.ReferenceMatchesDefinition(v, SelfAssemblyName))))
     {
         bool requireLock = !enteredLock;
         if (requireLock)
         {
             Monitor.Enter(syncLock);
             enteredLock = true;
         }
         try {
             RegisterAssemblyRecursive(assembly);
         } finally {
             if (requireLock)
             {
                 enteredLock = false;
                 Monitor.Exit(syncLock);
             }
         }
     }
 }