2011-05-14 50 views
1

Asp.net与MySQL的asp.net创建角色问题与MySQL

我加入MySQL的membership providerroleprovider到的web.config并添加引用:

mysql.web.dll 
mysql.data.dll 

然后我试着创建角色以下是即将到来的:

The given assembly name or codebase was invalid. 

(Exception from HRESULT: 0x80131047) 

(C:\Users\joms\Desktop\invent-mysql\Inventory\Inventory\web.config line 52) at 
System.Web.Administration.WebAdminPage.CallWebAdminHelperMethod(Boolean 
    isMembership, String methodName, Object[] parameters, Type[] paramTypes) at 
ASP.security_roles_manageallroles_aspx.BindGrid() at 
ASP.security_roles_manageallroles_aspx.Page_Load() at 

System.Web.Util.CalliHelper.ArglessFunctionCaller(IntPtr fp, Object o) at 
System.Web.Util.CalliEventHandlerDelegateProxy.Callback(Object sender, 
    EventArgs e) at 
System.Web.UI.Control.OnLoad(EventArgs e) at 
    System.Web.UI.Control.LoadRecursive() at 
System.Web.UI.Page.ProcessRequestMain(Boolean includeStagesBeforeAsyncPoint, 
    Boolean includeStagesAfterAsyncPoint) 

任何人都可以帮忙吗? webonfig的相关部分是........

<membership defaultProvider="MySQLMembershipProvider"> 
    <providers> 
    <clear /> 
    <add name="MySQLMembershipProvider" type="MySql.Web.Security.MySQLMembershipProvider, MySql.Web, Version=6.0.4.0, Culture=neutral, PublicKeyToken=c5687fc88969c44d" connectionStringName="ApplicationServices" enablePasswordRetrieval="false" enablePasswordReset="true" requiresQuestionAndAnswer="false" requiresUniqueEmail="true" passwordFormat="Hashed" maxInvalidPasswordAttempts="5" minRequiredPasswordLength="6" minRequiredNonalphanumericCharacters="0" passwordAttemptWindow="10" applicationName="/" autogenerateschema="true" /> 
    <remove name="MySQLMembershipProvider" /> 
    <add name="MySQLMembershipProvider" type="MySql.Web.Security.MySQLMembershipProvider, MySql.Web, Version=6.3.5.0, Culture=neutral, PublicKeyToken=c5687fc88969c44d" applicationName="/" description="MySQL default application" connectionStringName="ApplicationServices" writeExceptionsToEventLog="False" autogenerateschema="True" enablePasswordRetrieval="False" enablePasswordReset="True" requiresQuestionAndAnswer="False" requiresUniqueEmail="True" passwordFormat="Hashed" maxInvalidPasswordAttempts="5" minRequiredPasswordLength="6" minRequiredNonalphanumericCharacters="0" passwordAttemptWindow="10" passwordStrengthRegularExpression="" /> 
    </providers> 
</membership> 
<profile defaultProvider="MySQLProfileProvider"> 
    <providers> 
    <clear /> 
    <add name="MySQLProfileProvider" type="MySql.Web.Profile.MySQLProfileProvider, MySql.Web, Version=6.1.1.0, Culture=neutral, PublicKeyToken=c5687fc88969c44d" connectionStringName="ApplicationServices" autogenerateschema="true" /> 
    </providers> 
    </profile> 
<roleManager enabled="true" defaultProvider="MySQLRoleProvider"> 
    <providers> 
    <clear /> 
    <add name="MySQLRoleProvider" type="MySql.Web.Security.MySQLRoleProvider, MySql.Web, Version=6.1.1.0, Culture=neutral, PublicKeyToken=c5687fc88969c44d" connectionStringName="ApplicationServices" autogenerateschema="true"/> 
    <add applicationName="/" name="AspNetWindowsTokenRoleProvider" 
     type="System.Web.Security.WindowsTokenRoleProvider, System.Web, Version=2.0.0" /> 

    </providers> 
</roleManager> 
+0

有趣的是,你可以发布web.config的相关部分吗? – 2011-05-14 06:37:41

回答

0

嗯,首先第一件事情,注释掉或删除添加从供应商/删除。然后编写一个虚拟页面来尝试直接实例化RoleProvider并查看是否可以获得更有用的堆栈跟踪。我怀疑似乎被引用的不同版本,并会建议验证你有一组兼容的库。 6.3.6可以从MySql网站获得,所以我会清除板子并从那里开始。