无需单击一次即可使用 localdb 发布 WPF 应用程序

Publish WPF Application with localdb without click-once

我是一个绝对的初学者...这是我的第一个基于数据库的应用程序。

我想在脱机单用户客户端上删除带有数据库(2 个表)的 c# wpf 应用程序。 它是一个 wpf c# ef6 代码第一个应用程序。在我装有 vs2019 的机器上,它 运行 符合预期。 现在尝试 运行 在新设置的 win10 机器上它甚至无法启动。

这是我的数据库的连接字符串:

<connectionStrings>
<add name="ZuschnittverwaltungDB" connectionString="data source=(LocalDb)\MSSQLLocalDB;AttachDbFilename=|Datadirectory|\ZuschnittverwaltungDB.mdf;initial catalog=Zuschnittverwaltung.ZuschnittverwaltungDB;integrated security=True;MultipleActiveResultSets=True;App=EntityFramework" providerName="System.Data.SqlClient" />

我认为我遗漏了一个重点,但我搜索了几天后找不到任何解决方案...

编辑 1:

AttachDbFilename=|数据目录|\ZuschnittverwaltungDB.mdf ->

AppDomain.CurrentDomain.SetData("DataDirectory", Path.GetDirectoryName(System.Reflection.Assembly.GetExecutingAssembly().Location));

我很感激每一种方法。

需要在客户端计算机上单独安装 LocalDB。

如果您想“放弃”部署您的数据库以及应用程序本身,您应该使用 self-contained 数据库,例如 SQLite

如果您选择坚持使用 LocalDB,则需要确保将数据库文件部署到目标计算机上的 |Datadirectory|\ZuschnittverwaltungDB.mdf(或您在配置文件中指定的任何路径)。

看来我先做的一切都是对的。没有更改代码或安装任何新东西。

就运行 cmd-> sqllocaldb 删除 mssqllocaldb

已将数据库文件从我的电脑复制到指定的文件夹并且成功了...

谢谢@mm8。我可以在 windows 事件管理器

中找到更多错误信息

干杯