Exemplo n.º 1
0
        [System.Security.DynamicSecurityMethod] // Methods containing StackCrawlMark local var has to be marked DynamicSecurityMethod
        public static Assembly Load(byte[] rawAssembly,
                                    byte[] rawSymbolStore)
        {
            AppDomain.CheckLoadByteArraySupported();

            if (rawAssembly == null)
                throw new ArgumentNullException(nameof(rawAssembly));
            AssemblyLoadContext alc = new IndividualAssemblyLoadContext();
            MemoryStream assemblyStream = new MemoryStream(rawAssembly);
            MemoryStream symbolStream = (rawSymbolStore != null) ? new MemoryStream(rawSymbolStore) : null;
            return alc.LoadFromStream(assemblyStream, symbolStream);
        }
Exemplo n.º 2
0
        [System.Security.DynamicSecurityMethod] // Methods containing StackCrawlMark local var has to be marked DynamicSecurityMethod
        public static Assembly Load(byte[] rawAssembly,
                                    byte[] rawSymbolStore)
        {
            Contract.Ensures(Contract.Result <Assembly>() != null);
            Contract.Ensures(!Contract.Result <Assembly>().ReflectionOnly);

            AppDomain.CheckLoadByteArraySupported();

            if (rawAssembly == null)
            {
                throw new ArgumentNullException(nameof(rawAssembly));
            }
            AssemblyLoadContext alc            = new IndividualAssemblyLoadContext();
            MemoryStream        assemblyStream = new MemoryStream(rawAssembly);
            MemoryStream        symbolStream   = (rawSymbolStore != null) ? new MemoryStream(rawSymbolStore) : null;

            return(alc.LoadFromStream(assemblyStream, symbolStream));
        }