public static string ExtractFileResourceToTemp(this Assembly assembly, string name)
{
var tempPath = name.GenerateTemporaryFilename();
var s = assembly.GetManifestResourceStream(name);
if (s == null) {
// not specified exactly
var n = assembly.GetManifestResourceNames();
foreach (var each in n) {
if (each.EndsWith("." + name)) {
name = each;
break;
}
}
}
return ExtractFileResourceToPath(assembly, name, tempPath);
}