2011-05-14 44 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網站獲得,所以我會清除板子並從那裏開始。