ASP.NET 身份正在 App_Data 请求本地数据库
ASP.NET identity is asking for local DB at App_Data
我遇到了错误 asking for the App_Data local db,但是我没有在我的项目中使用本地数据库,而是在服务器上使用在线数据库。
以下是我创建网站的步骤:
1- 新 ASP.Net Web 应用程序 -> MVC – 个人用户身份验证
2- 运行 应用程序,并注册一个新用户
(这就是我认为问题开始的地方)——因为在这一点上,它在 App_Data
处创建了一个本地数据库
3- 使用 SQL Server Management Studio 创建 SQL Server 2017 数据库并添加我的表
4- 将数据库作为 ADO.Net 实体数据模型 -> 从数据库导入 EF 设计器
(使用新的 connectionString)
5- 将 DefaultConnection 更新为 link 到新的数据库
6- 运行 项目并注册新用户(在新数据库中创建的身份表)
我没有将身份表导入 ADO.Net 实体数据模型
7- 在 smarterasp.net
在线上传数据库
8- 将 connectionStrings 更新为新的在线数据库
9- 继续在网站上工作…
10- 发布网站 -> 它要求 App_Data 本地数据库作为附件!
项目中没有对任何本地数据库的引用。如何在不创建新应用程序的情况下修复此本地数据库问题。
<connectionStrings>
<add name="DefaultConnection" connectionString="Data Source=SQL5041.site4now.net;
Initial Catalog=DB_Name;
User Id=admin;
Password=***;"
providerName="System.Data.SqlClient" />
<add name="RP" connectionString="metadata=res://*/RPDatabaseModel.csdl|res://*/RPDatabaseModel.ssdl|res://*/RPDatabaseModel.msl;
provider=System.Data.SqlClient;
provider connection string="Data Source=SQL5041.site4now.net;Initial Catalog=DB_Name;User Id=admin;Password=***; MultipleActiveResultSets=true;""
providerName="System.Data.EntityClient" />
尝试禁用您的 roleManager。在您的 web.config 中删除整个 roleManager 部分并将其替换为:
<roleManager enabled="false" />
有关更多信息,在您的 machine.config 中您可能有这样一行:
<add name="AspNetSqlRoleProvider"
connectionStringName="LocalSqlServer" applicationName="/" type="..."/>
和这样的连接字符串:
<add name="LocalSqlServer"
connectionString="...localdb..."
providerName="System.Data.SqlClient"/>
So leaving the role manager entries in there make Asp.Net start
looking in this local db before your IdentityDbContext
. Removing the
entries means it tries to fine an entry and fails. So the only
solution is to disable it completely.
我遇到了错误 asking for the App_Data local db,但是我没有在我的项目中使用本地数据库,而是在服务器上使用在线数据库。
以下是我创建网站的步骤:
1- 新 ASP.Net Web 应用程序 -> MVC – 个人用户身份验证
2- 运行 应用程序,并注册一个新用户 (这就是我认为问题开始的地方)——因为在这一点上,它在 App_Data
处创建了一个本地数据库3- 使用 SQL Server Management Studio 创建 SQL Server 2017 数据库并添加我的表
4- 将数据库作为 ADO.Net 实体数据模型 -> 从数据库导入 EF 设计器 (使用新的 connectionString)
5- 将 DefaultConnection 更新为 link 到新的数据库
6- 运行 项目并注册新用户(在新数据库中创建的身份表) 我没有将身份表导入 ADO.Net 实体数据模型
7- 在 smarterasp.net
在线上传数据库8- 将 connectionStrings 更新为新的在线数据库
9- 继续在网站上工作…
10- 发布网站 -> 它要求 App_Data 本地数据库作为附件!
项目中没有对任何本地数据库的引用。如何在不创建新应用程序的情况下修复此本地数据库问题。
<connectionStrings>
<add name="DefaultConnection" connectionString="Data Source=SQL5041.site4now.net;
Initial Catalog=DB_Name;
User Id=admin;
Password=***;"
providerName="System.Data.SqlClient" />
<add name="RP" connectionString="metadata=res://*/RPDatabaseModel.csdl|res://*/RPDatabaseModel.ssdl|res://*/RPDatabaseModel.msl;
provider=System.Data.SqlClient;
provider connection string="Data Source=SQL5041.site4now.net;Initial Catalog=DB_Name;User Id=admin;Password=***; MultipleActiveResultSets=true;""
providerName="System.Data.EntityClient" />
尝试禁用您的 roleManager。在您的 web.config 中删除整个 roleManager 部分并将其替换为:
<roleManager enabled="false" />
有关更多信息,在您的 machine.config 中您可能有这样一行:
<add name="AspNetSqlRoleProvider"
connectionStringName="LocalSqlServer" applicationName="/" type="..."/>
和这样的连接字符串:
<add name="LocalSqlServer"
connectionString="...localdb..."
providerName="System.Data.SqlClient"/>
So leaving the role manager entries in there make Asp.Net start looking in this local db before your
IdentityDbContext
. Removing the entries means it tries to fine an entry and fails. So the only solution is to disable it completely.