Próbuję osadzić niektóre szablony wiadomości e-mail w bibliotece klas. Działa to dobrze, dopóki nie użyję nazwy pliku zawierającej nazwę kultury z następującym oznaczeniem: templatename.nl-NL.cshtml Zasób nie jest dostępny.Osadzone zasoby w zestawie zawierające nazwę kultury w nazwie pliku nie zostaną załadowane.
Przykładowy kod:
namespace ManifestResources
{
class Program
{
static void Main(string[] args)
{
var assembly = Assembly.GetExecutingAssembly();
// Works fine
var mailTemplate = assembly.GetManifestResourceStream("ManifestResources.mailtemplate.cshtml");
// Not ok, localized mail template is null
var localizedMailTemplate = assembly.GetManifestResourceStream("ManifestResources.mailtemplate.nl-NL.cshtml");
}
}
}
Szablony oba mają budować akcję ustawioną na 'EmbeddedResource'.
Oczywistym rozwiązaniem jest użycie innej notacji, ale podoba mi się ta notacja. Ktoś ma rozwiązanie tego problemu?
I repro. Będziesz musiał zadowolić się kolejną konwencją nazewnictwa, aby uniknąć walki z zapiekanym systemem montażu satelitów. Wystarczy pominięcie okresu sprzed nazwy kultury lub zastąpienie jej myślnikiem. –