diff --git a/Fody/Processor.cs b/Fody/Processor.cs index 89897c2dd..9d1ccb0fa 100644 --- a/Fody/Processor.cs +++ b/Fody/Processor.cs @@ -1,7 +1,6 @@ using System; using System.Collections.Generic; using System.Diagnostics; -using System.IO; using System.Linq; using Fody; @@ -127,9 +126,7 @@ void ExecuteInOwnAssemblyLoadContext() { var loadContext = GetLoadContext(); - var assemblyFile = Path.Combine(AssemblyLocation.CurrentDirectory, "FodyIsolated.dll"); - Logger.LogDebug($"LoadContext AssemblyFile: {assemblyFile}"); - using (innerWeaver = (IInnerWeaver)loadContext.CreateInstanceFromAndUnwrap(assemblyFile, "InnerWeaver")) + using (innerWeaver = (IInnerWeaver)loadContext.CreateInstanceFromAndUnwrap()) { innerWeaver.AssemblyFilePath = AssemblyFilePath; innerWeaver.References = References; @@ -172,7 +169,7 @@ IsolatedAssemblyLoadContext GetLoadContext() IsolatedAssemblyLoadContext CreateAssemblyLoadContext() { Logger.LogDebug("Creating a new AssemblyLoadContext"); - return new IsolatedAssemblyLoadContext($"Fody Domain for '{SolutionDirectory}'", AssemblyLocation.CurrentDirectory); + return new IsolatedAssemblyLoadContext(); } public void Cancel() diff --git a/FodyCommon/IsolatedAssemblyLoadContext.cs b/FodyCommon/IsolatedAssemblyLoadContext.cs index c087eb68a..6fc6fb7ab 100644 --- a/FodyCommon/IsolatedAssemblyLoadContext.cs +++ b/FodyCommon/IsolatedAssemblyLoadContext.cs @@ -1,21 +1,24 @@ -#if NET472 +using System.IO; +#if NET472 using System; + public class IsolatedAssemblyLoadContext { AppDomain appDomain; - public IsolatedAssemblyLoadContext(string friendlyName, string applicationBase) + public IsolatedAssemblyLoadContext() { var appDomainSetup = new AppDomainSetup { - ApplicationBase = applicationBase, + ApplicationBase = AssemblyLocation.CurrentDirectory, }; - appDomain = AppDomain.CreateDomain(friendlyName, null, appDomainSetup); + appDomain = AppDomain.CreateDomain("Fody AppDomain", null, appDomainSetup); } - public object CreateInstanceFromAndUnwrap(string assemblyPath, string typeName) + public object CreateInstanceFromAndUnwrap() { - return appDomain.CreateInstanceFromAndUnwrap(assemblyPath, typeName); + var assemblyFile = Path.Combine(AssemblyLocation.CurrentDirectory, "FodyIsolated.dll"); + return appDomain.CreateInstanceFromAndUnwrap(assemblyFile, "InnerWeaver"); } public void Unload() @@ -29,22 +32,16 @@ public void Unload() public class IsolatedAssemblyLoadContext : AssemblyLoadContext { - // ReSharper disable UnusedParameter.Local - public IsolatedAssemblyLoadContext(string friendlyName, string applicationBase) - { - } - // ReSharper restore UnusedParameter.Local - - /// protected override Assembly Load(AssemblyName assemblyName) { return null; } - public object CreateInstanceFromAndUnwrap(string assemblyPath, string typeName) + public object CreateInstanceFromAndUnwrap() { - var assembly = LoadFromAssemblyPath(assemblyPath); - return assembly.CreateInstance(typeName); + var assemblyFile = Path.Combine(AssemblyLocation.CurrentDirectory, "FodyIsolated.dll"); + var assembly = LoadFromAssemblyPath(assemblyFile); + return assembly.CreateInstance("InnerWeaver"); } public void Unload()