System.AppDomain.AppDomain.Load C# (CSharp) Méthode

Load() private méthode

private Load ( AssemblyName assemblyRef, Evidence assemblySecurity ) : Assembly
assemblyRef System.Reflection.AssemblyName
assemblySecurity System.Security.Policy.Evidence
Résultat System.Reflection.Assembly
		public Assembly Load (AssemblyName assemblyRef, Evidence assemblySecurity)
		{
			if (assemblyRef == null)
				throw new ArgumentNullException ("assemblyRef");

			if (assemblyRef.Name == null || assemblyRef.Name.Length == 0) {
				if (assemblyRef.CodeBase != null)
					return Assembly.LoadFrom (assemblyRef.CodeBase, assemblySecurity);
				else
					throw new ArgumentException (Locale.GetText ("assemblyRef.Name cannot be empty."), "assemblyRef");
			}

			Assembly assembly = LoadAssembly (assemblyRef.FullName, assemblySecurity, false);
			if (assembly != null)
				return assembly;

			if (assemblyRef.CodeBase == null)
				throw new FileNotFoundException (null, assemblyRef.Name);

			string cb = assemblyRef.CodeBase;
			if (cb.ToLower (CultureInfo.InvariantCulture).StartsWith ("file://"))
				cb = new Mono.Security.Uri (cb).LocalPath;

			try {
				assembly = Assembly.LoadFrom (cb, assemblySecurity);
			} catch {
				throw new FileNotFoundException (null, assemblyRef.Name);
			}
			AssemblyName aname = assembly.GetName ();
			// Name, version, culture, publickeytoken. Anything else?
			if (assemblyRef.Name != aname.Name)
				throw new FileNotFoundException (null, assemblyRef.Name);

			if (assemblyRef.Version != new Version () && assemblyRef.Version != aname.Version)
				throw new FileNotFoundException (null, assemblyRef.Name);

			if (assemblyRef.CultureInfo != null && assemblyRef.CultureInfo.Equals (aname))
				throw new FileNotFoundException (null, assemblyRef.Name);

			byte [] pt = assemblyRef.GetPublicKeyToken ();
			if (pt != null) {
				byte [] loaded_pt = aname.GetPublicKeyToken ();
				if (loaded_pt == null || (pt.Length != loaded_pt.Length))
					throw new FileNotFoundException (null, assemblyRef.Name);
				for (int i = pt.Length - 1; i >= 0; i--)
					if (loaded_pt [i] != pt [i])
						throw new FileNotFoundException (null, assemblyRef.Name);
			}
			return assembly;
		}

Same methods

AppDomain.AppDomain::Load ( AssemblyName assemblyRef ) : Assembly
AppDomain.AppDomain::Load ( byte rawAssembly ) : Assembly
AppDomain.AppDomain::Load ( byte rawAssembly, byte rawSymbolStore ) : Assembly
AppDomain.AppDomain::Load ( byte rawAssembly, byte rawSymbolStore, Evidence securityEvidence ) : Assembly
AppDomain.AppDomain::Load ( byte rawAssembly, byte rawSymbolStore, Evidence securityEvidence, bool refonly ) : Assembly
AppDomain.AppDomain::Load ( string assemblyString ) : Assembly
AppDomain.AppDomain::Load ( string assemblyString, Evidence assemblySecurity ) : Assembly
AppDomain.AppDomain::Load ( string assemblyString, Evidence assemblySecurity, bool refonly ) : Assembly