Приложение Windows Store завершает сертификацию, потому что я пишу папку InstalledLocation, а не локальную папку.Запись в папку InstalledLocation
Я загружаю существующий SQLite db в приложение, если оно еще не существует.
Ниже мой код:
private static string dbName = "flashcards2015a.db";
private static string dbPath = string.Empty;
public MainPage()
{
this.InitializeComponent();
LoadDataTask();
LoadDecksNames();
}
private async void LoadDataTask()
{
await CreateIfNotExists(dbName);
}
private async Task CreateIfNotExists(string dbName)
{
if (await GetIfFileExistsAsync(dbName) == null)
{
StorageFile seedFile = await StorageFile.GetFileFromPathAsync(Path.Combine(Windows.ApplicationModel.Package.Current.InstalledLocation.Path, dbName));
await seedFile.CopyAsync(Windows.Storage.ApplicationData.Current.LocalFolder);
}
}
Как я могу изменить код в локальную папку, чтобы получить файл базы данных?
Вы уверены, что это проблема? Код, который вы показываете, не записывается в место установки. Кажется, что правильно скопируйте базу данных семян из места установки в локальное хранилище. Там, где это неправильно, это то, что он не ждет LoadDataTask, поэтому LoadDecksNames, вероятно, вызывается до того, как LoadDataTask скопировал файл. Не зная, что такое LoadDecksNames, я не знаю, возвращается ли она к семену или сталкивается с какой-то другой проблемой. –