发布桌面应用程序在我的系统上工作正常但是当我向某人发送安装程序时,它不起作用

时间:2018-04-06 12:11:02

标签: c# winforms localdb

我使用localdb开发了一个桌面c#应用程序。在发布应用程序时,我选择了.net框架和localdb作为先决条件。已发布的设置在我的系统上运行正常,但是当我将完整的设置文件发送到任何其他系统时,它无法正常工作。

这是我的连接字符串

SqlConnection(@"Data Source=(localdb)\mssqllocaldb;AttachDbFilename=|DataDirectory|\StadiumDatabase.mdf;Integrated Security=True")

以下是我在先决条件中选择的内容

enter image description here

我在其他系统上遇到的错误。

enter image description here

我已经浏览了很多关于此的博客和文章,并且没有提供任何解决方案。

1 个答案:

答案 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作为先决条件。