私はクラスライブラリにいくつかの電子メールテンプレートを埋め込もうとしています。これは、次の表記法でculture-nameを含むファイル名を使用するまで有効です。templatename.nl-NL.cshtml リソースが利用可能ではないようです。ファイル名にカルチャ名を含むアセンブリの組み込みリソースはロードされません
例コード:
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");
}
}
}
テンプレートの両方が 'EmbeddedResource' に設定されたアクションを構築しています。
明らかな解決方法は別の表記を使用することですが、私はこの表記が好きです。誰にでもこの問題の解決策がありますか?
I repro。 baked-inサテライトアセンブリのサポートとの戦いを避けるために、別の命名規則に準拠する必要があります。文化の名前の前の期間を省略するか、ダッシュで置き換えるだけで十分です。 –