C# 指定的成员资格提供程序名称无效。参数名称:providerName .Net4.0 MVC2 亚硝酸铵 努尼特

C# 指定的成员资格提供程序名称无效。参数名称:providerName .Net4.0 MVC2 亚硝酸铵 努尼特,c#,nhibernate,.net-4.0,nunit,asp.net-membership,C#,Nhibernate,.net 4.0,Nunit,Asp.net Membership,我正在尝试测试用户创建。根据我的测试,我调用以下命令: MembershipCreateStatus status; // _session is my current NHibernate session. var mmp = new MyMembershipProvider(_session); mmp.CreateUser(username, password, "something@example.com", "", "", true, Guid.NewGuid(), out statu

我正在尝试测试用户创建。根据我的测试,我调用以下命令:

MembershipCreateStatus status;
// _session is my current NHibernate session.
var mmp = new MyMembershipProvider(_session);
mmp.CreateUser(username, password, "something@example.com", "", "", true, Guid.NewGuid(), out status);
CreateUser
方法中,它实现了以下目标:

var user = new MembershipUser(Name, username, providerUserKey, email, passwordQuestion, passwordAnswer, isApproved, false, DateTime.Now, DateTime.Now, DateTime.Now, DateTime.Now, DateTime.Now);
。。。在引发此异常之前:

The membership provider name specified is invalid.
Parameter name: providerName
我将我的名字设置为
MyMembershipProvider
,在Web.config中我有:

<add name="OnyxMembershipProvider" type="System.Web.Security.SqlMembershipProvider" connectionStringName="ApplicationServices"
  enablePasswordRetrieval="false" enablePasswordReset="true" requiresQuestionAndAnswer="false" requiresUniqueEmail="false"
  maxInvalidPasswordAttempts="5" minRequiredPasswordLength="6" minRequiredNonalphanumericCharacters="0" passwordAttemptWindow="10"
  applicationName="/" />

还有,我的连接字符串:

<add name="ApplicationServices"
     connectionString="data source=.\SQLEXPRESS;Integrated Security=SSPI;AttachDBFilename=|DataDirectory|aspnetdb.mdf;User Instance=true"
     providerName="System.Data.SqlClient" />


现在,我猜问题是我的测试正在创建SQLite DB,Web.CONFIG试图击中我的SQLServer DB,但我不知道如何继续。

< P>你可能想考虑嘲弄成员资格提供程序。你的单元测试应该测试你的代码,而不是微软的

以下是有关使用Moq模拟会员资格提供商的一些信息:


名称不应该与web.config中指定的名称相同吗


i、 e.OnyxMembershipProvider

能否显示与名为“ApplicationServices”的连接字符串相关的web.config行?(当然删除任何密码:)轻微问题。。。我使用的是WatiN,因此无法直接访问控制器。我不认为我可以这样嘲笑,是吗?我认为这解决了它,我从来没有把它作为答案。抱歉耽搁了这么长时间!