gpt4 book ai didi

sqlite - UWP预加载SQLite

转载 作者:行者123 更新时间:2023-12-03 19:23:08 24 4
gpt4 key购买 nike

我正在尝试将预加载的SQLite数据库复制到我的UWP应用中。在初始安装时,它会复制“ test.db”,但大小为0字节,并且没有表或数据。原始数据库为1300字节,包含数据和表。

另一个事实...当我使用Visual Studio 2017创建应用程序并编译和运行/调试应用程序时,它可以正常运行,但是当我侧面加载appx文件或从Windows Store下载时,数据库为空。

这是我正在使用的代码:

  Task task = CopyDatabase();


private async Task CopyDatabase()
{
bool isDatabaseExisting = false;

try
{
StorageFile storageFile = await ApplicationData.Current.LocalFolder.GetFileAsync("Express.db");
isDatabaseExisting = true;
}
catch
{
isDatabaseExisting = false;
}

if (!isDatabaseExisting)
{
StorageFile databaseFile = await Package.Current.InstalledLocation.GetFileAsync("Express.db");
await databaseFile.CopyAsync(ApplicationData.Current.LocalFolder, "Express.db", NameCollisionOption.ReplaceExisting);
}
}


我没有收到任何错误消息。

最佳答案

您的数据库文件是否已正确部署到目标系统?
要确认,请查看已部署的“包”文件夹。打开带有管理特权的命令提示符,然后查看目录

c:\ Program Files \ WindowsApps \您的应用程序ID

如果数据库文件成功部署,则可以在目录中看到它。如果不是,则可能需要更改部署设置。
要将文件部署到目标计算机,应将其中一个的属性设置为...

'BuildAction = Contents'
'复制到输出目录'='总是复制'

您可以从解决方案资源管理器中进行设置,然后右键单击您的数据库文件。
如果成功部署了文件,则代码会将数据库文件复制到应用程序本地文件夹。

c:\ Users \您的用户ID \ AppData \ Local \ Packages \您的APP-ID \ LocalState

关于sqlite - UWP预加载SQLite,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47293228/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com