private static void CheckAddedAssemblies( PolicyLevel level, ref ArrayList assemblies ) { try { if (assemblies == null || level == null) return; IEnumerator enumerator = assemblies.GetEnumerator(); while (enumerator.MoveNext()) { Assembly assembly = (Assembly)enumerator.Current; StrongName sn = FindStrongName( assembly.Evidence ); if (sn == null) { PauseCapableWriteLine( manager.GetString( "Dialog_AssemblyNotStrongNamed" ) ); if (!GetAnswer()) throw new ExitException(); } else if (!sn.Name.Equals( "mscorlib" )) { IEnumerator snEnumerator = level.FullTrustAssemblies.GetEnumerator(); bool found = false; Evidence evidence = new Evidence(); evidence.AddHost( sn ); while (snEnumerator.MoveNext()) { if (((StrongNameMembershipCondition)snEnumerator.Current).Check( evidence )) { found = true; break; } } if (!found) { PauseCapableWriteLine( manager.GetString( "Dialog_StrongNameAssemblyAdded1" ) ); PauseCapableWriteLine( sn.Name + " " + sn.Version ); PauseCapableWriteLine( manager.GetString( "Dialog_StrongNameAssemblyAdded2" ) ); if (GetAnswer()) { level.AddFullTrustAssembly( sn ); } } } } } finally { assemblies = new ArrayList(); } }