找不到任何CSHTML或VBHTML视图

时间:2013-05-10 15:06:14

标签: asp.net-mvc asp.net-mvc-4 class-library actionmailer.net

我在类库中使用ActionMailer.Net.Standalone包。在项目的根目录中,我有一个名为“模板”的文件夹,其中包含我的文件OrderConfirmation.html.cshtml。

像这样:

enter image description here

这是我的邮件程序类:

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)"

我猜测路径不正确。我应该使用什么路径?

感谢。

2 个答案:

答案 0 :(得分:1)

ActionMailer期望ViewPath文件夹的绝对路径,即在你的情况下它应该像“c:\ Mike \ GreatProjects \ eshop \ Templates”,而不仅仅是相对的“模板”。

答案 1 :(得分:0)

我转到了我的视图属性:“Verification.txt.cshtml”,我更改了Build Action: ContentCopy to Output Directory: Copy Always,如下所示:

enter image description here