我正在尝试在我的MVC 3应用程序中使用SimpleMembership。但是我收到以下错误:
System.ArgumentException未处理 按用户代码。无法找到 请求.Net框架数据 供应商。它可能没有安装。
我正在使用EF并且框架显然已存在,因为我的应用程序在没有SimpleMembership API的情况下工作正常
以下是Web配置文件中的设置:
<connectionStrings>
<add name="ApplicationServices" connectionString="data source=.\SQLEXPRESS;Integrated Security=SSPI;AttachDBFilename=|DataDirectory|aspnetdb.mdf;User Instance=true" providerName="System.Data.SqlClient" />
<add name="SeniorProjectModelContainer" connectionString="metadata=res://*/Models.SeniorProjectModel.csdl|res://*/Models.SeniorProjectModel.ssdl|res://*/Models.SeniorProjectModel.msl;provider=System.Data.SqlClient;provider connection string="Data Source=GOGOTOPPY;Initial Catalog=SPMT;Integrated Security=True;MultipleActiveResultSets=True"" providerName="System.Data.EntityClient" />
</connectionStrings>
以下是它在App_Start文件夹的Membership文件中的样子:
WebSecurity.InitializeDatabaseConnection(connectionStringName: "SeniorProjectModelContainer", userTableName: "Users", userIdColumn: "UserId", userNameColumn: "UserName", autoCreateTables: true);
任何帮助将不胜感激!
Update:
快速解决方法是从连接字符串中取出元数据部分,并将提供程序名称更改为SqlClient,使其看起来与此类似:
<connectionStrings>
<add name="Membership" connectionString="Data Source=serverName;Database=datebaseName;User ID=idName;Password=password;Trusted_Connection=False;Encrypt=True;" providerName="System.Data.SqlClient" />
</connectionStrings>
连接字符串是否有任何缺点?
答案 0 :(得分:0)
不确定你是如何安装simplemembership但尝试以nuget方式进行的,例如, http://www.nuget.org/List/Packages/SimpleMembership.Mvc3