使用 SQL Server 2014 LocalDB 和 Visual Studio 2013 构建 LightSwitch 失败
Posted
技术标签:
【中文标题】使用 SQL Server 2014 LocalDB 和 Visual Studio 2013 构建 LightSwitch 失败【英文标题】:LightSwitch build fails using SQL Server 2014 LocalDB and Visual Studio 2013 【发布时间】:2015-01-13 06:47:03 【问题描述】:我已安装 SQL Server 2014 并希望在 Visual Studio 中使用 localdb\v12.0
。我找到了this 帖子并了解如何使用 SQL Server 对象资源管理器成功连接到 localdb。现在我在 Visual Studio 2013 中创建了一个 LightSwitch 项目,构建它时抛出异常:
与 SQL Server 建立连接时出错 实例 '(LocalDB)\v11.0'。
似乎它正在寻找 SQL Server 2012 在 Bin\Data 中创建开发数据库,而我没有 SQL Server 2012,因此系统上没有 localdb\v11.0
。所以
为什么VS 2013会尝试使用localdb\v11.0
?
如何强制 Visual Studio 在构建项目时使用localdb\v12.0
?
我尝试更改 web.config
中的 _IntrinsicData 连接字符串,但在再次构建时,尝试使用属于 SQL Server 2012 的 localdb\v11.0
时会引发相同的异常!
【问题讨论】:
【参考方案1】:好吧,我花了很多时间才发现问题所在!原因及解决方法如下:
LightSwitch 在构建项目(这称为开发数据库)时使用 SQL Express LocalDB 来存储用户和角色等信息。 SQL Server 2012 没有问题,但如果安装了 SQL Server 2014,则会强制 LightSwitch 连接到 (localdb)\v11.0 。 LightSwitch 在解决方案中创建了三个项目。如果客户端和服务器项目构建成功,那么问题出在第三个项目上。完成以下步骤:
-
右键单击解决方案中的第三个项目
选择
Unload Project
再次右键单击它并选择Edit <yourProjectName>.lsxtproj
搜索 SqlExpressInstancename
你会发现它的值为 (localDB)\v11.0 !
将其更改为正确的 SQL Server LocalDB 实例名称;有关更多信息,请查看以下说明
现在解决方案成功构建
--
注意 1: 要查看安装了哪个版本的 SQL Server LocalDb,请打开 cmd 并键入 sqllocaldb.exe v
注意2:到系统上创建的LocalDb实例,打开cmd输入sqllocaldb.exe info
注意3:要被LightSwitch使用的实例必须启动:打开cmd输入sqllocaldb.exe start
更新:寻找更好的解决方案我找到了解决此问题的正确方法。每次创建一个新的 LightSwitch 项目时,我都很难遵循这 6 个步骤。因此,如果您想通过这种方式修复它:
-
在 Visual Studio 中,转到工具->选项
在数据库工具中选择数据连接
设置所需的 SQL Server 实例名称
所以不需要每次创建 LS 项目时都设置
【讨论】:
VS2015 和 LocalDB 版本 12 的可能数据库\实例名称是 (localdb)\MSSQLLocalDB 和 (localdb)\ProjectsV12。以上是关于使用 SQL Server 2014 LocalDB 和 Visual Studio 2013 构建 LightSwitch 失败的主要内容,如果未能解决你的问题,请参考以下文章