static AssemblyLoadContext CreateLoadContext(string baseDir, string assemblyFile) { var depsJsonFile = Path.Combine(baseDir, Path.GetFileNameWithoutExtension(assemblyFile) + ".deps.json"); var builder = new AssemblyLoadContextBuilder(); builder.TryAddDependencyContext(depsJsonFile, out _); builder.SetBaseDirectory(baseDir); return(builder.Build()); }
public static AssemblyLoadContextBuilder AddDependencyContext(this AssemblyLoadContextBuilder builder, string depsFilePath) { var reader = new DependencyContextJsonReader(); using (var file = File.OpenRead(depsFilePath)) { var deps = reader.Read(file); builder.SetBaseDirectory(Path.GetDirectoryName(depsFilePath)); builder.AddDependencyContext(deps); } return(builder); }