我在类库中使用ActionMailer.Net.Standalone包。在项目的根目录中,我有一个名为“模板”的文件夹,其中包含我的文件OrderConfirmation.html.cshtml。
像这样:
这是我的邮件程序类:
public class Mailer : RazorMailerBase, IMailer
{
public RazorEmailResult OrderConfirmation(string toAddress, Order order)
{
To.Add(toAddress);
From = "foo@bar.com";
Subject = "Account Verification";
return Email("OrderConfirmation", order);
}
public override string ViewPath
{
get { return "Templates"; }
}
}
当我运行项目时,我收到以下错误
"Could not find any CSHTML or VBHTML views named [OrderConfirmation] in the path [Templates]. Ensure that you specify the format in the file name (ie: OrderConfirmation.txt.cshtml or OrderConfirmation.html.cshtml)"
我猜测路径不正确。我应该使用什么路径?
感谢。
答案 0 :(得分:1)
ActionMailer期望ViewPath文件夹的绝对路径,即在你的情况下它应该像“c:\ Mike \ GreatProjects \ eshop \ Templates”,而不仅仅是相对的“模板”。
答案 1 :(得分:0)
我转到了我的视图属性:“Verification.txt.cshtml”,我更改了Build Action: Content
和Copy to Output Directory: Copy Always
,如下所示: