我已经创建了一个与SQLite数据库交互的C#WPF应用程序。我想创建安装文件,以便能够在另一台计算机上安装该应用程序。有谁知道如何使用SQLite数据库部署C#WPF应用程序,我已经使用ClickOnce创建了一个安装文件,但是当我运行该应用程序并对应用程序执行某些操作(需要从数据库中获取数据)时,会关闭。
答案 0 :(得分:0)
我不认为这仅与制作安装文件有关。我认为,该应用程序崩溃是因为该软件找不到数据库。如果您以某种方式开发软件,则它会在启动时创建数据库(如果它没有退出),那么创建安装文件的方式就不会有问题。这是我的意思:
//use an environment generated file path.
public string _dataBasePath = $@"{ System.Environment.GetFolderPath(System.Environment.SpecialFolder.ApplicationData)}\databaseName.db";
使用对象关系映射器(如NHibernate)。您可以覆盖OnStartUp并创建数据库:
// In the App.xaml.cs class
private override void OnStartup(StartupEventArgs e) {
base.OnStartup(e);
BuildSchemaAction(config);
}
private void BuildSchemaAction(Configuration config) {
new SchemaExport(config).Create(false, !File.Exists(_dataBasePath));
}
protected Configuration config = new Configuration();
数据库文件(因为它是SQLite)将不存在,因此将创建它。随后,将不会创建它。
_dataBasePath
字段将是连接字符串中的路径,以便在其创建的路径中访问数据库。
x.ConnectionString = $"Data Source={_dataBasePath};version=3";