Resolver.ps1

if (([System.Management.Automation.PSTypeName]'System.Runtime.Loader.AssemblyLoadContext').Type) 
{
    $action = 
    { 
        param ($loadContext, $assemblyName)
        $assembly = $null
        
        $assemblyRedirecting = ('Newtonsoft.Json', 'AstralKeks.Workbench.Common').Contains($assemblyName.Name)
        $assemblyPath = [System.IO.Path]::Combine($PSScriptRoot, "$($assemblyName.Name).dll")
        $assemblyNames = [System.AppDomain]::CurrentDomain.GetAssemblies() | foreach { $_.FullName }
        if ($assemblyRedirecting -and (Test-Path $assemblyPath) -and !$assemblyNames.Contains($assemblyName.FullName))
        {
            $assemblyBytes = [System.IO.File]::ReadAllBytes($assemblyPath)
            $assembly = [System.Reflection.Assembly]::Load($assemblyBytes)
        }
        
        return $assembly
    }
    
    $context = [System.Runtime.Loader.AssemblyLoadContext]::Default
    $handler = [Func[System.Runtime.Loader.AssemblyLoadContext, System.Reflection.AssemblyName, System.Reflection.Assembly]]$action
    $context.GetType().GetEvent('Resolving').AddEventHandler($context, $handler)
}