Example #1
0
        public void TestFixtureSetUp()
        {
            var searchPathForDlls = Path.Combine(AppDomain.CurrentDomain.BaseDirectory, "Reflection.AssemblyFinderIntegrationTest.Dlls");
            var searchPathForExes = Path.Combine(AppDomain.CurrentDomain.BaseDirectory, "Reflection.AssemblyFinderIntegrationTest.Exes");
            var dynamicBase       = Path.Combine(AppDomain.CurrentDomain.BaseDirectory, "Reflection.AssemblyFinderIntegrationTest.Dynamic");

            _baseDirectoryBuildOutputManager     = CreateAssemblyCompilerBuildOutputManager(AppDomain.CurrentDomain.BaseDirectory);
            _dynamicDirectoryBuildOutputManager  = CreateAssemblyCompilerBuildOutputManager(dynamicBase);
            _searchPathForDllsBuildOutputManager = CreateAssemblyCompilerBuildOutputManager(searchPathForDlls);
            _searchPathForExesBuildOutputManager = CreateAssemblyCompilerBuildOutputManager(searchPathForExes);

            _markedReferencedAssemblyPath           = _baseDirectoryBuildOutputManager.CompileInSeparateAppDomain("MarkedReferencedAssembly.dll");
            _markedAssemblyPath                     = _baseDirectoryBuildOutputManager.CompileInSeparateAppDomain("MarkedAssembly.dll", _markedReferencedAssemblyPath);
            _markedExeAssemblyPath                  = _baseDirectoryBuildOutputManager.CompileInSeparateAppDomain("MarkedExeAssembly.dll");
            _markedAssemblyWithDerivedAttributePath = _baseDirectoryBuildOutputManager.CompileInSeparateAppDomain("MarkedAssemblyWithDerivedAttribute.dll");
            _baseDirectoryBuildOutputManager.CompileInSeparateAppDomain("UnmarkedAssembly.dll");

            _markedAssemblyInSearchPathPath    = _searchPathForDllsBuildOutputManager.CompileInSeparateAppDomain("MarkedAssemblyInRelativeSearchPath.dll");
            _markedExeAssemblyInSearchPathPath =
                _searchPathForExesBuildOutputManager.CompileInSeparateAppDomain("MarkedExeAssemblyInRelativeSearchPath.exe");

            _markedAssemblyInSearchPathWithNameMismatchPath =
                _searchPathForDllsBuildOutputManager.CompileInSeparateAppDomain("MarkedAssemblyWithOtherFilenameInRelativeSearchPath.dll");
            _markedAssemblyInSearchPathWithNameMismatchPath = _searchPathForDllsBuildOutputManager.RenameGeneratedAssembly(
                "MarkedAssemblyWithOtherFilenameInRelativeSearchPath.dll", "_MarkedAssemblyWithOtherFilenameInRelativeSearchPath.dll");

            _markedAssemblyInDynamicDirectoryPath    = _dynamicDirectoryBuildOutputManager.CompileInSeparateAppDomain("MarkedAssemblyInDynamicDirectory.dll");
            _markedExeAssemblyInDynamicDirectoryPath = _dynamicDirectoryBuildOutputManager.CompileInSeparateAppDomain(
                "MarkedExeAssemblyInDynamicDirectory.exe");
        }
        private static Assembly CompileReferencingAssembly(AssemblyCompilerBuildOutputManager outputManager, Assembly remotionAssembly)
        {
            var referencingAssemblyRelativePath = outputManager.CompileInSeparateAppDomain("RemotionCoreReferencingAssembly.dll", remotionAssembly.Location);
            var referencingAssemblyFullPath     = Path.GetFullPath(referencingAssemblyRelativePath);

            return(Assembly.LoadFile(referencingAssemblyFullPath));
        }