ASP.NET MVC实体框架应用程序使用了错误的SQL连接字符串
我有一个ASP.NET MVC5 web应用程序,它最初是使用VS2013创建的,首先使用Entity Framework 6代码进行数据迁移。它(在生产中)已经运行了将近一年,并且已经多次从VisualStudio使用WebDeploy重新部署 今天,我在VS2015中打开了解决方案,并将已知的代码库工作版本重新部署到生产环境中,没有任何问题。然而,在部署之后,生产网站遇到了中描述的问题,我通过应用作者的建议修复程序解决了这些问题 应用这些修复程序后,我现在遇到了一个新问题:一个异常表明应用程序试图使用错误的连接字符串访问数据库: 由于检索用户的本地应用程序数据路径失败,无法生成SQL Server的用户实例。请确保用户在计算机上具有本地用户配置文件。连接将被关闭 在异常页面的详细信息中,问题的原因已澄清: 连接字符串使用应用程序的App_数据目录中的数据库位置指定本地Sql Server Express实例 我对此感到困惑,因为应用程序有一个专用的SQL Server实例,可以使用常规连接字符串访问该实例。我检查了WebDeploy生成的ASP.NET MVC实体框架应用程序使用了错误的SQL连接字符串,asp.net,entity-framework,asp.net-mvc-5,connection-string,webdeploy,Asp.net,Entity Framework,Asp.net Mvc 5,Connection String,Webdeploy,我有一个ASP.NET MVC5 web应用程序,它最初是使用VS2013创建的,首先使用Entity Framework 6代码进行数据迁移。它(在生产中)已经运行了将近一年,并且已经多次从VisualStudio使用WebDeploy重新部署 今天,我在VS2015中打开了解决方案,并将已知的代码库工作版本重新部署到生产环境中,没有任何问题。然而,在部署之后,生产网站遇到了中描述的问题,我通过应用作者的建议修复程序解决了这些问题 应用这些修复程序后,我现在遇到了一个新问题:一个异常表明应用程
Web.config
,它似乎完好无损。它包含正确引用生产SQL Server实例的命名连接字符串,代码(未更改)使用命名连接字符串正确实例化实体框架ApplicationContext
有人知道为什么这个应用程序现在希望创建自己的SQL Server实例,或者我可以做些什么来调试这个问题吗
非常感谢您的建议
Tim在进行web部署之前,您可以尝试以下几点:
- 检查是否将包含连接字符串声明(web.config)的项目设置为“启动项目”
- 在发布模式下重新生成解决方案
- 在“发布Web向导”的“设置”中,展开“文件发布选项”,然后选中“在目标位置删除其他文件”和“从App_数据文件夹中排除文件”
- 检查是否将包含连接字符串声明(web.config)的项目设置为“启动项目”
- 在发布模式下重新生成解决方案
- 在“发布Web向导”的“设置”中,展开“文件发布选项”,然后选中“在目标位置删除其他文件”和“从App_数据文件夹中排除文件”