public async Task <Assembly> FindAssemblyByNameAsync(string packageName, CancellationToken cancellationToken = default)
        {
            cancellationToken.ThrowIfCancellationRequested();

            var assemblies = await _assemblies.GetRegisteredAssembliesAsync();

            Assembly target = null;

            foreach (var assembly in assemblies)
            {
                var name = assembly.GetName().Name;
                if (!name.Equals(packageName, StringComparison.OrdinalIgnoreCase))
                {
                    continue;
                }

                _logger?.LogDebug("Found package name {PackageName}", packageName);
                target = assembly;
                break;
            }

            if (target != null)
            {
                return(target);
            }
            _logger?.LogWarning("No assembly found matching package name {PackageName}", packageName);
            return(null);
        }