Skip to content

Commit b20b599

Browse files
authored
Merge pull request dotnet-script#224 from SlowLogicBoy/master
Remove dependency on System.Runtime.Loader.
2 parents fc4c77c + 84d45ce commit b20b599

File tree

2 files changed

+5
-6
lines changed

2 files changed

+5
-6
lines changed

src/Dotnet.Script.Core/Dotnet.Script.Core.csproj

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -36,7 +36,6 @@
3636
<PackageReference Include="Newtonsoft.Json" Version="10.0.3" />
3737
<PackageReference Include="System.Collections.Immutable" Version="1.4.0" />
3838
<PackageReference Include="System.Reflection.Metadata" Version="1.5.0" />
39-
<PackageReference Include="System.Runtime.Loader" Version="4.3.0" />
4039
<PackageReference Include="System.ValueTuple" Version="4.4.0" />
4140
</ItemGroup>
4241

src/Dotnet.Script.Core/ScriptCompiler.cs

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,6 @@
44
using System.Linq;
55
using System.Reflection;
66
using System.Runtime.InteropServices;
7-
using System.Runtime.Loader;
87
using Microsoft.CodeAnalysis;
98
using Microsoft.CodeAnalysis.CSharp.Scripting;
109
using Microsoft.CodeAnalysis.Scripting;
@@ -134,8 +133,8 @@ public virtual ScriptCompilationContext<TReturn> CreateCompilationContext<TRetur
134133
}
135134
}
136135

137-
AssemblyLoadContext.Default.Resolving +=
138-
(assemblyLoadContext, assemblyName) => MapUnresolvedAssemblyToRuntimeLibrary(dependencyMap, assemblyLoadContext, assemblyName);
136+
AppDomain.CurrentDomain.AssemblyResolve +=
137+
(sender, args) => MapUnresolvedAssemblyToRuntimeLibrary(dependencyMap, args);
139138

140139
// when processing raw code, make sure we inject new lines after preprocessor directives
141140
string code;
@@ -164,14 +163,15 @@ public virtual ScriptCompilationContext<TReturn> CreateCompilationContext<TRetur
164163
return new ScriptCompilationContext<TReturn>(script, context.Code, loader, opts);
165164
}
166165

167-
private Assembly MapUnresolvedAssemblyToRuntimeLibrary(IDictionary<string, RuntimeAssembly> dependencyMap, AssemblyLoadContext loadContext, AssemblyName assemblyName)
166+
private Assembly MapUnresolvedAssemblyToRuntimeLibrary(IDictionary<string, RuntimeAssembly> dependencyMap, ResolveEventArgs args)
168167
{
168+
var assemblyName = new AssemblyName(args.Name);
169169
if (dependencyMap.TryGetValue(assemblyName.Name, out var runtimeAssembly))
170170
{
171171
if (runtimeAssembly.Name.Version > assemblyName.Version)
172172
{
173173
Logger.Log($"Redirecting {assemblyName} to {runtimeAssembly.Name}");
174-
return loadContext.LoadFromAssemblyPath(runtimeAssembly.Path);
174+
return Assembly.LoadFile(runtimeAssembly.Path);
175175
}
176176
}
177177

0 commit comments

Comments
 (0)