public static void LoadFromAssemblyName_AssemblyNotFound()
        {
            var asmName = new AssemblyName("Non.Existing.Assembly.dll");
            var loadContext = new ResourceAssemblyLoadContext();
            loadContext.LoadBy = LoadBy.Path;

            Assert.Throws(typeof(FileNotFoundException), 
                () => loadContext.LoadFromAssemblyName(asmName));
        }
        public static void LoadFromAssemblyName_AssemblyNotFound()
        {
            var asmName     = new AssemblyName("Non.Existing.Assembly.dll");
            var loadContext = new ResourceAssemblyLoadContext();

            loadContext.LoadBy = LoadBy.Path;

            Assert.Throws <FileNotFoundException>(() => loadContext.LoadFromAssemblyName(asmName));
        }
        public static void LoadAssemblyByStream_ValidUserAssembly()
        {
            var asmName = new AssemblyName(TestAssembly);
            var loadContext = new ResourceAssemblyLoadContext();
            loadContext.LoadBy = LoadBy.Stream;

            var asm = loadContext.LoadFromAssemblyName(asmName);

            Assert.NotNull(asm);
            Assert.True(asm.DefinedTypes.Any(t => t.Name == "TestClass"));
        }
        public static void GetLoadContextTest_ValidUserAssembly()
        {
            var asmName         = new AssemblyName(TestAssembly);
            var expectedContext = new ResourceAssemblyLoadContext();

            expectedContext.LoadBy = LoadBy.Stream;

            var asm           = expectedContext.LoadFromAssemblyName(asmName);
            var actualContext = AssemblyLoadContext.GetLoadContext(asm);

            Assert.Equal(expectedContext, actualContext);
        }
        public static void LoadAssemblyByStream_ValidUserAssembly()
        {
            var asmName     = new AssemblyName(TestAssembly);
            var loadContext = new ResourceAssemblyLoadContext();

            loadContext.LoadBy = LoadBy.Stream;

            var asm = loadContext.LoadFromAssemblyName(asmName);

            Assert.NotNull(asm);
            Assert.True(asm.DefinedTypes.Any(t => t.Name == "TestClass"));
        }
Exemple #6
0
        public static void LoadAssemblyByPath_ValidUserAssembly()
        {
            var asmName     = new AssemblyName(TestAssembly);
            var loadContext = new ResourceAssemblyLoadContext();

            loadContext.LoadBy = LoadBy.Path;

            var asm = loadContext.LoadFromAssemblyName(asmName);

            Assert.NotNull(asm);
            Assert.Contains(asm.DefinedTypes, t => t.Name == "TestClass");
        }
Exemple #7
0
        public static void Unsupported_FixedAddressValueType()
        {
            var asmName = new AssemblyName(TestAssemblyNotSupported);
            var alc     = new ResourceAssemblyLoadContext(true)
            {
                LoadBy = LoadBy.Path
            };
            Assembly asm = alc.LoadFromAssemblyName(asmName);

            Assert.NotNull(asm);

            ReflectionTypeLoadException exception = Assert.Throws <ReflectionTypeLoadException>(() => asm.DefinedTypes);

            // Expecting two exceptions:
            //  Collectible type 'System.Runtime.Loader.Tests.TestClassNotSupported_FixedAddressValueType' has unsupported FixedAddressValueTypeAttribute applied to a field
            Assert.Equal(1, exception.LoaderExceptions.Length);
            Assert.True(exception.LoaderExceptions.All(exp => exp is TypeLoadException));
        }
        public static void GetLoadContextTest_ValidUserAssembly()
        {
            var asmName = new AssemblyName(TestAssembly);
            var expectedContext = new ResourceAssemblyLoadContext();
            expectedContext.LoadBy = LoadBy.Stream;

            var asm = expectedContext.LoadFromAssemblyName(asmName);
            var actualContext = AssemblyLoadContext.GetLoadContext(asm);

            Assert.Equal(expectedContext, actualContext);
        }