static ContainsTypeChecker() { var appDomainSetup = new AppDomainSetup { ApplicationBase = AssemblyLocation.CurrentDirectory(), }; var appDomain = AppDomain.CreateDomain("Fody.ContainsTypeChecker", null, appDomainSetup); var instanceAndUnwrap = appDomain.CreateInstanceAndUnwrap("FodyIsolated", "IsolatedContainsTypeChecker"); containsTypeChecker = (IContainsTypeChecker)instanceAndUnwrap; }
static ContainsTypeChecker() { var appDomainSetup = new AppDomainSetup { ApplicationBase = AssemblyLocation.CurrentDirectory, }; var appDomain = AppDomain.CreateDomain("Fody.ContainsTypeChecker", null, appDomainSetup); var assemblyFile = Path.Combine(AssemblyLocation.CurrentDirectory, "FodyIsolated.dll"); var instanceAndUnwrap = appDomain.CreateInstanceFromAndUnwrap(assemblyFile, "IsolatedContainsTypeChecker"); containsTypeChecker = (IContainsTypeChecker)instanceAndUnwrap; }
static ContainsTypeChecker() { var loadContext = new IsolatedAssemblyLoadContext("Fody.ContainsTypeChecker", AssemblyLocation.CurrentDirectory); var assemblyFile = Path.Combine(AssemblyLocation.CurrentDirectory, "FodyIsolated.dll"); if (!File.Exists(assemblyFile)) { throw new Exception("Could not find: " + assemblyFile); } var instanceAndUnwrap = loadContext.CreateInstanceFromAndUnwrap(assemblyFile, "IsolatedContainsTypeChecker"); containsTypeChecker = (IContainsTypeChecker)instanceAndUnwrap; }