ProjectFile TryCreateSatelliteFile(ModuleDef module, string rsrcName, FilenameCreator filenameCreator, ProjectFile nonSatFile) { if (!options.CreateResX) return null; var asm = module.Assembly; Debug.Assert(asm != null && !UTF8String.IsNullOrEmpty(asm.Culture)); if (asm == null || UTF8String.IsNullOrEmpty(asm.Culture)) return null; var name = FileUtils.RemoveExtension(rsrcName); var ext = FileUtils.GetExtension(rsrcName); var locName = name + "." + asm.Culture + ext; var er = module.Resources.OfType<EmbeddedResource>().FirstOrDefault(a => StringComparer.Ordinal.Equals(a.Name, locName)); var set = TryCreateResourceElementSet(module, er); if (set == null) return null; var dir = Path.GetDirectoryName(nonSatFile.Filename).Substring(projDir.Length + 1); name = Path.GetFileNameWithoutExtension(nonSatFile.Filename); ext = Path.GetExtension(nonSatFile.Filename); var filename = filenameCreator.CreateFromRelativePath(Path.Combine(dir, name) + "." + asm.Culture, ext); return CreateResXFile(module, er, set, filename, string.Empty, true); }
ProjectFile TryCreateSatelliteFile(ModuleDef module, string rsrcName, FilenameCreator filenameCreator, ProjectFile nonSatFile) { if (!options.CreateResX) { return(null); } var asm = module.Assembly; Debug.Assert(asm != null && !UTF8String.IsNullOrEmpty(asm.Culture)); if (asm == null || UTF8String.IsNullOrEmpty(asm.Culture)) { return(null); } var name = FileUtils.RemoveExtension(rsrcName); var ext = FileUtils.GetExtension(rsrcName); var locName = name + "." + asm.Culture + ext; var er = module.Resources.OfType <EmbeddedResource>().FirstOrDefault(a => StringComparer.Ordinal.Equals(a.Name, locName)); var set = TryCreateResourceElementSet(module, er); if (set == null) { return(null); } var dir = Path.GetDirectoryName(nonSatFile.Filename).Substring(projDir.Length + 1); name = Path.GetFileNameWithoutExtension(nonSatFile.Filename); ext = Path.GetExtension(nonSatFile.Filename); var filename = filenameCreator.CreateFromRelativePath(Path.Combine(dir, name) + "." + asm.Culture, ext); return(CreateResXFile(module, er, set, filename, string.Empty, true)); }
IEnumerable<ProjectFile> CreateSatelliteFiles(string rsrcName, FilenameCreator filenameCreator, ProjectFile nonSatFile) { foreach (var satMod in satelliteAssemblyFinder.GetSatelliteAssemblies(options.Module)) { var satFile = TryCreateSatelliteFile(satMod, rsrcName, filenameCreator, nonSatFile); if (satFile != null) yield return satFile; } }
IEnumerable <ProjectFile> CreateSatelliteFiles(string rsrcName, FilenameCreator filenameCreator, ProjectFile nonSatFile) { foreach (var satMod in satelliteAssemblyFinder.GetSatelliteAssemblies(options.Module)) { var satFile = TryCreateSatelliteFile(satMod, rsrcName, filenameCreator, nonSatFile); if (satFile != null) { yield return(satFile); } } }