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); }