Как развернуть приложение C # WPF с базой данных sqlite? - PullRequest
0 голосов
/ 29 сентября 2019

Я создал приложение C # WPF, которое взаимодействует с базой данных SQLite.Я хочу создать установочный файл, чтобы иметь возможность установить приложение на другом компьютере.Кто-нибудь знает, как развернуть приложение C # WPF с базой данных SQLite, я создал файл установки с помощью ClickOnce, но когда я запускаю приложение и делаю что-то с приложением, которое требует извлечения данных из базы данных, он закрывается.

1 Ответ

0 голосов
/ 29 сентября 2019

Не думаю, что все дело в создании установочного файла.Я думаю, приложение падает, потому что программное обеспечение не может найти базу данных.Если вы разрабатываете свое программное обеспечение таким образом, что при запуске создается база данных (если она не закрывается), то способ создания установочного файла не будет проблемой.Вот что я имею в виду:

//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";
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...