Как использовать Actionmailer.Net.Standalone в консольном приложении?
Возможно ли использовать Actionmailer.Net.Standalone
в консольном приложении? Я продолжаю получать сообщение об ошибке:
Не удалось найти какие-либо представления CSHTML или VBHTML с именем [CRD.html.cshtml] в пути [EmailTemplates]. Убедитесь, что вы указали формат в имени файла (то есть: CRD.html.cshtml.txt.cshtml или CRD.html.cshtml.html.cshtml).
Код
public class Mailer : RazorMailerBase
{
public override string ViewPath
{
get { return "EmailTemplates"; }
}
public RazorEmailResult Processed(string f)
{
From = group;
To.Add(user);
Subject = "CRD Process Server has processed file: " + f;
return Email("CRD.html.cshtml");
}
}
Нужно ли реализовать RazorViewEngine
где-то, поскольку это не стандартно для консольного приложения?
3 ответа
Существует проект с открытым исходным кодом как общий шаблонизатор RazorEngine.
Шаблонизатор, созданный на основе технологии синтаксического анализа Razor от Microsoft. RazorEngine позволяет использовать синтаксис Razor для создания надежных шаблонов.
Просто;
string template = "Hello @Model.Name! Welcome to Razor!";
string result = Razor.Parse(template, new { Name = "World" });
Также доступно в NuGet;
Установить-пакет RazorEngine
Немного поздно, но, возможно, это все еще помогает:
Попробуй поменять
return Email("CRD.html.cshtml");
в
return Email("CRD");
Расширения добавляются автоматически.
Я разрабатываю полностью функциональную демоверсию здесь: http://jaider.net/posts/881-using-action-mailer-in-a-console-application/
исходный код находится в Github: https://github.com/jaider/Demo-Action-Mailer