Мне нужно создать Asp.Net Web Api, способный отправлять электронные письма.
Мне удалось отправить письмо, но только с помощью простого шаблона, хранящегося в переменной, локально.
Следующим шагом было рендерить шаблон из внешнего файла, например так:
string filePath = @"C:\Data\EmailClient\EmailClient\EmailClient\EmailTemplate\ReceiptTemplate.cshtml";
var config = new TemplateServiceConfiguration
{
TemplateManager = new ResolvePathTemplateManager(new[] { "EmailTemplates" }),
DisableTempFileLocking = true
};
Engine.Razor = RazorEngineService.Create(config);
if (File.Exists(filePath))
{
emailHtmlBody = Engine.Razor.RunCompile(filePath, null, email);
mail.Body = emailHtmlBody;
}
Проблема в том, что, когда бритвенное устройство пытается проанализировать шаблон, появляется следующая ошибка:
"Could not load type 'System.Security.Principal.WindowsImpersonationContext' from assembly 'mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089'."
Я пытался разобрать шаблон из строки, и я также заблокирован с такой же ошибкой.