发布桌面应用程序在我的系统上运行良好,但当我将设置发送给某人时,它不起作用

Publish desktop application working fine on my system but when I send setup to someone, it doesn't work

我用 localdb 开发了桌面 c# 应用程序。在发布应用程序时,我选择了 .net framework 和 localdb 作为先决条件。已发布的设置在我的系统上运行良好,但是当我将完整的设置文件发送到任何其他系统时它不起作用。

这是我的连接字符串

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

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

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

我浏览了很多与此相关的博客和文章,none 提供的解决方案有效。

您的开发机器和安装机器上似乎安装了不同版本的 LocalDb。默认实例 MSSQLLocalDB 曾经在旧版本的 LocalDb 中按版本命名,例如 v11.0。 Microsoft 在更高版本的 LocalDB 中将其更改为 MSSQLLocalDB

您说 (localdb)\mssqllocaldb 可以在您的机器上运行,这让我相信您使用的是较新的版本。您的屏幕截图显示您选择了 SQL 2012 年的 LocalDB,它使用默认实例名称 v11.0。这意味着您将需要远程连接字符串与开发期间不同的连接字符串。不幸的是,我不知道检测实例名称以调整连接字符串的好方法。

运行 在你的开发机器上安装不同版本的 LocalDB,并在远程计算机上安装不同的版本,这可能会让你很头疼,比如这个。我建议在远程机器上安装你正在开发的任何 localDb 版本,或者在你的开发机器上安装 2012,这样每个人都有相同的版本。


根据您的评论,您的开发机器是 运行 Sql 2016(数据库版本 852)。您需要在开发机器上安装 Sql 2012,或者先安装 2016。