2010-01-31 63 views
1

我得到错误:ASP.net C#。 Membership.CreateUser方法 - 缺少参考或汇编。堆叠

错误1类型或命名空间name'CreateUser“不在namespace'LocalGarageFinder.Membership存在”(是否缺少程序集引用?)

我检查了命名空间。所有英寸Security.Web.Security;什么不见​​了?请帮助

using System; 
using System.Collections; 
using System.Configuration; 
using System.Data; 
using System.Linq; 
using System.Web; 

using System.Web.UI; 
using System.Web.UI.WebControls; 
using System.Web.UI.WebControls.WebParts; 
using System.Web.UI.HtmlControls; 
using System.Xml.Linq; 
using System.Web.Security; 

namespace LocalGarageFinder.Membership 
{ 
    public partial class CreatingUserAccounts : System.Web.UI.Page 
    { 
     const string passwordQuestion = "What is your favorite color"; 
     protected void Page_Load(object sender, EventArgs e) 
     { 
      if (!Page.IsPostBack) SecurityQuestion.Text = passwordQuestion; 
     } 

     protected void CreateAccountButton_Click(object sender, EventArgs e) 
     { 
      MembershipCreateStatus createStatus; 
      MembershipUser newUser = Membership.CreateUser(Username.Text, Password.Text, Email.Text, passwordQuestion, SecurityAnswer.Text, true, out createStatus); 

      switch (createStatus) 
      { case MembershipCreateStatus.Success: CreateAccountResults.Text = "The user account was successfully created!"; 
        break; 
       case MembershipCreateStatus.DuplicateUserName: CreateAccountResults.Text = "There already exists a user with this username."; 
        break; 
       case MembershipCreateStatus.DuplicateEmail: CreateAccountResults.Text = "There already exists a user with this email address."; 
        break; 
       case MembershipCreateStatus.InvalidEmail: CreateAccountResults.Text = "There email address you provided in invalid."; 
        break; 
      case MembershipCreateStatus.InvalidAnswer: CreateAccountResults.Text = "There security answer was invalid."; 
        break; 
      case MembershipCreateStatus.InvalidPassword: CreateAccountResults.Text = "The password you provided is invalid. It must be seven characters long and have at least one non-alphanumeric character."; 
        break; 
      default: CreateAccountResults.Text = "There was an unknown error; the user account was NOT created."; 
       break; } } 
} 
} 

回答

1

尝试MembershipUser newUser = System.Web.Security.Membership.CreateUser(...)。看起来编译器正在寻找LocalGarageFinder.Membership,其中确实没有CreateUser类型。

+0

创建的谢谢!它以这种方式工作;) – Alex 2010-01-31 18:05:38

1

你已经遇到了命名空间冲突。 我想你想访问与您的来电Membership.CreateUser的asp.net成员资格提供程序,但它无法找到,因为它只是看着你的LocalGarageFinder.Membership命名空间。

如果你不能改变你的命名空间的东西有点更容易使用,你可以前缀你与它的完整的命名空间的成员资格提供电话。

这将您的电话更改为:

MembershipUser newUser = System.Web.Security.Membership.CreateUser(Username.Text, Password.Text, Email.Text, passwordQuestion, SecurityAnswer.Text, true, out createStatus); 
+0

的感谢!它的工作原理,但我怎么能让它工作正常?如何改变我的名字空间?这只是教程,我正在学习。而这个类是由VS – Alex 2010-01-31 18:05:09