// Loads the assembly with a COFF based IMAGE containing // an emitted assembly. The assembly is loaded into a fully isolated ALC with resolution fully deferred to the AssemblyLoadContext.Default. // The second parameter is the raw bytes representing the symbol store that matches the assembly. public static Assembly Load(byte[] rawAssembly, byte[] rawSymbolStore) { if (rawAssembly == null) { throw new ArgumentNullException(nameof(rawAssembly)); } if (rawAssembly.Length == 0) { throw new BadImageFormatException(SR.BadImageFormat_BadILFormat); } #if FEATURE_APPX if (ApplicationModel.IsUap) { throw new NotSupportedException(SR.Format(SR.NotSupported_AppX, "Assembly.Load(byte[], ...)")); } #endif SerializationInfo.ThrowIfDeserializationInProgress("AllowAssembliesFromByteArrays", ref s_cachedSerializationSwitch); AssemblyLoadContext alc = new IndividualAssemblyLoadContext(); return(alc.InternalLoad(rawAssembly, rawSymbolStore)); }
// Loads the assembly with a COFF based IMAGE containing // an emitted assembly. The assembly is loaded into a fully isolated ALC with resolution fully deferred to the AssemblyLoadContext.Default. // The second parameter is the raw bytes representing the symbol store that matches the assembly. public static Assembly Load(byte[] rawAssembly, byte[]?rawSymbolStore) { if (rawAssembly == null) { throw new ArgumentNullException(nameof(rawAssembly)); } if (rawAssembly.Length == 0) { throw new BadImageFormatException(SR.BadImageFormat_BadILFormat); } SerializationInfo.ThrowIfDeserializationInProgress("AllowAssembliesFromByteArrays", ref s_cachedSerializationSwitch); AssemblyLoadContext alc = new IndividualAssemblyLoadContext("Assembly.Load(byte[], ...)"); return(alc.InternalLoad(rawAssembly, rawSymbolStore)); }