我已将我的项目从.Net framework 4转换为4.5。
我这样做是为了使用Nuget包MvcMailer。
一切都很好,但在UserMailer类中存在以下代码:
public virtual MvcMailMessage Welcome()
{
//ViewBag.Data = someObject;
return Populate(x =>
{
x.Subject = "Welcome";
x.ViewName = "Welcome";
x.To.Add("some-email@example.com");
});
}
Populate一词会抛出错误: “填充”这个名称在当前上下文中不存在
Populate这个词属于什么名称空间? 或者它是一个扩展?
我在网上找不到任何东西。
答案 0 :(得分:1)
具有此签名的MailerBase
控制器的类方法(from source code on GitHub):
public virtual MvcMailMessage Populate(Action<MvcMailMessage> action)
要使用它,您必须从MailerBase
派生您的控制器(它是Mailers的基类。您的邮件程序应该是MailerBase
的子类。)
例如,假设您的控制器名为Home
,来自:
public class Home : Controller {
要:
public class Home : MailerBase {
它位于Mvc.Mailer
命名空间(与MvcMailerMessage
类相同),无论如何它不是一种扩展方法,因此您甚至不必担心它。< / p>
答案 1 :(得分:0)
将光标放在关键字上,然后点击Alt+Shift+F10
。它会显示它的来源,您可以包含整个命名空间,或只使用一次关键字。只有在项目中有正确的.dll引用时,它才会起作用。
答案 2 :(得分:0)
我认为你从这个GitHub存储库获得了代码。
https://github.com/smsohan/MvcMailer/wiki/MvcMailer-Step-by-Step-Guide
public virtual MvcMailMessage Welcome()
{
ViewBag.Name = "Sohan";
return Populate(x =>{
x.viewName = "Welcome";
x.To.Add("sohan39@example.com");
});
}
此代码由Package的开发人员提供,他展示了如何使用它来编辑MvcMailer。
如果是这样,那个人在他的C#文件的顶部使用了这些命名空间。
using Mvc.Mailer;
所以,我猜它会成为这个命名空间的一部分。将它包含在您的项目中并且您已完成!