我的Windows应用商店应用未通过认证,因为我正在编写InstalledLocation文件夹而不是本地文件夹。
我正在将现有的SQLite数据库加载到应用程序中(如果它尚不存在)。
以下是我的代码:
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);
}
}
如何将代码更改为本地文件夹以获取db文件?
答案 0 :(得分:0)
您需要将StorageFile.GetFileFromPathAsync中的Path.CombinWindows.ApplicationModel.Package.Current.InstalledLocation.Path更改为Windows.Storage.ApplicationData.Current.LocalFolder
更多信息:https://msdn.microsoft.com/en-us/library/windows/apps/windows.storage.applicationdata.localfolder
答案 1 :(得分:0)
您需要使用StorageFile.GetFileFromApplicationUriAsync()。
更多信息:https://msdn.microsoft.com/en-us/library/windows/apps/xaml/hh965322(v=win.10)
var uri = new System.Uri("ms-appx:///images/logo.png");
var file = await Windows.Storage.StorageFile.GetFileFromApplicationUriAsync(uri);