Приложения UWP работают в песочнице, и когда вы запускаете их, они устанавливаются в нее. Они не работают в вашей папке bin исходного кода вашего проекта. Для того, чтобы ваш код был запущен и запущен, добавьте файл db в папку Assets вашего проекта Assets\BobDB.db
. Установите Build Action этого файла на Content
. Хорошо, что наш файл теперь включен в папку «Установленные приложения». Плохо то, что он только для чтения . Чтобы преодолеть это, нам нужно скопировать его в локальную папку приложения:
public MainPage()
{
this.InitializeComponent();
Loaded += MainPage_Loaded;
}
private async void MainPage_Loaded(object sender, RoutedEventArgs e)
{
string targetDbPath = Path.Combine(Windows.Storage.ApplicationData.Current.LocalFolder.Path, "Database\\BobDB.db");
if (!File.Exists(targetDbPath))
{
var installedLocation = Windows.ApplicationModel.Package.Current.InstalledLocation;
using (var input = await installedLocation.OpenStreamForReadAsync("Assets\\BobDB.db"))
{
using (var output = await Windows.Storage.ApplicationData.Current.LocalFolder.OpenStreamForWriteAsync("Database\\BobDB.db", Windows.Storage.CreationCollisionOption.FailIfExists))
{
await input.CopyToAsync(output);
}
}
}
using (SqliteConnection conn = new SqliteConnection(@"Data Source = " + targetDbPath))
{
conn.Open();
...