private static Assembly ResolveAwesomium(object sender, ResolveEventArgs args) {
var unresolved = args.Name.ToLower();
var resourcesDll = Resources.FirstOrDefault(item => unresolved.StartsWith(item));
Logging.Debug(unresolved);
if (!string.IsNullOrEmpty(resourcesDll)) {
var resourceId = CultureInfo.CurrentUICulture.IetfLanguageTag;
if (!string.Equals(resourceId, "en-US", StringComparison.OrdinalIgnoreCase)) {
var resourcesPath = $"{_awesomiumPath}{resourceId}{Path.DirectorySeparatorChar}{resourcesDll}{DllExtension}";
if (File.Exists(resourcesPath)) {
return Assembly.LoadFrom(resourcesPath);
}
}
return null;
}
var dependencyDll = Dependencies.SingleOrDefault(item => unresolved.StartsWith(item));
if (string.IsNullOrEmpty(dependencyDll)) return null;
var dependencyPath = $"{_awesomiumPath}{Path.DirectorySeparatorChar}{dependencyDll}{DllExtension}";
return File.Exists(dependencyPath) ? Assembly.LoadFrom(dependencyPath) : null;
}
}