我使用localdb
开发了一个桌面c#应用程序。在发布应用程序时,我选择了.net框架和localdb
作为先决条件。已发布的设置在我的系统上运行正常,但是当我将完整的设置文件发送到任何其他系统时,它无法正常工作。
这是我的连接字符串
SqlConnection(@"Data Source=(localdb)\mssqllocaldb;AttachDbFilename=|DataDirectory|\StadiumDatabase.mdf;Integrated Security=True")
以下是我在先决条件中选择的内容
我在其他系统上遇到的错误。
我已经浏览了很多关于此的博客和文章,并且没有提供任何解决方案。
答案 0 :(得分:0)
您的开发计算机和安装计算机上安装了不同版本的LocalDb。默认实例MSSQLLocalDB
曾在旧版本的LocalDb中按版本命名,例如v11.0
。 Microsoft在更高版本的LocalDB中将其更改为MSSQLLocalDB
。
您说(localdb)\mssqllocaldb
适用于您的计算机,这让我相信您使用的是更新版本。您的屏幕截图显示您已从SQL 2012中选择了LocalDB,它使用默认实例名称v11.0
。这意味着在开发期间远程需要不同的连接字符串。不幸的是,我不知道检测实例名称以调整连接字符串的好方法。
在开发计算机上运行不同版本的LocalDB,并在远程计算机上安装不同版本,可能会让您感到很麻烦,比如这个。我建议您在远程计算机上安装正在开发的任何localDb版本,或者在开发计算机上安装2012,以便每个人都拥有相同的版本。
根据您的评论,您的开发计算机正在运行Sql 2016(db版本852)。您需要在开发计算机上安装Sql 2012,或者安装2016作为先决条件。