【问题标题】:LightSwitch build fails using SQL Server 2014 LocalDB and Visual Studio 2013使用 SQL Server 2014 LocalDB 和 Visual Studio 2013 构建 LightSwitch 失败
【发布时间】: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。所以

  1. 为什么VS 2013会尝试使用localdb\v11.0

  2. 如何强制 Visual Studio 在构建项目时使用localdb\v12.0

我尝试更改 web.config 中的 _IntrinsicData 连接字符串,但在再次构建时,尝试使用属于 SQL Server 2012 的 localdb\v11.0 时会引发相同的异常!

【问题讨论】:

    标签: c# visual-studio-2013 visual-studio-lightswitch localdb sql-server-2014


    【解决方案1】:

    好吧,我花了很多时间才发现问题所在!原因及解决方法如下:

    LightSwitch 在构建项目(这称为开发数据库)时使用 SQL Express LocalDB 来存储用户和角色等信息。 SQL Server 2012 没有问题,但如果安装了 SQL Server 2014,则会强制 LightSwitch 连接到 (localdb)\v11.0 。 LightSwitch 在解决方案中创建了三个项目。如果客户端和服务器项目构建成功,那么问题出在第三个项目上。完成以下步骤:

    1. 右键单击解决方案中的第三个项目
    2. 选择Unload Project
    3. 再次右键单击它并选择Edit <yourProjectName>.lsxtproj
    4. 搜索 SqlExpressInstancename
    5. 你会发现它的值为 (localDB)\v11.0 !
    6. 将其更改为正确的 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 个步骤。因此,如果您想通过这种方式修复它:

    1. 在 Visual Studio 中,转到工具->选项
    2. 在数据库工具中选择数据连接
    3. 设置所需的 SQL Server 实例名称

    所以不需要每次创建 LS 项目时都设置

    【讨论】:

    • VS2015 和 LocalDB 版本 12 的可能数据库\实例名称是 (localdb)\MSSQLLocalDB(localdb)\ProjectsV12
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-01-04
    • 1970-01-01
    • 2014-08-12
    • 1970-01-01
    • 2014-08-15
    相关资源
    最近更新 更多