public Stream Get(string path, CultureInfo culture = null) { culture = culture ?? Thread.CurrentThread.CurrentCulture; var fullName = ToFullNameWithNamespace(path); var attemptedAssemblies = new List<Assembly>(); foreach (var possibleCulture in culture.GetPossibleCultures()) { Assembly cultureAssembly; if (!_baseAssembly.TryGetSatteliteAssembly(possibleCulture, out cultureAssembly)) { continue; } attemptedAssemblies.Add(cultureAssembly); var stream = cultureAssembly.GetManifestResourceStream(fullName); if (stream != null) { return stream; } } var messageBuilder = new StringBuilder(); messageBuilder.AppendLine("The specified resource was not found.") .AppendLine(string.Format("Resource name: {0}. Attempted assemblies:", fullName)); foreach (var attemptedAssembly in attemptedAssemblies) { messageBuilder.AppendLine(string.Format(" - {0}", attemptedAssembly.FullName)); } throw new ResourceNotFoundException(messageBuilder.ToString(), path); }
public Stream Get(string path, CultureInfo culture = null) { culture = culture ?? Thread.CurrentThread.CurrentCulture; var fullName = ToFullNameWithNamespace(path); foreach (var possibleCulture in culture.GetPossibleCultures()) { Assembly cultureAssembly; if (!_baseAssembly.TryGetSatteliteAssembly(possibleCulture, out cultureAssembly)) { continue; } var stream = cultureAssembly.GetManifestResourceStream(fullName); if (stream != null) { return stream; } } return null; }