我已经为MS-Word开发了一个VSTO插件,并且与Office桌面版一起使用时,数据已正确保存在 appdata 目录中,
但是其中一个用户正在使用与受信任的Microsoft Store App 版本的MS-Word相同的插件,该版本默认情况下带有新的许可Win 10版本。
现在我面临的问题是,我已经在appdata目录中创建了一个SQLCE数据库,并且VSTO插件在其中保存了一些信息,对于正常的单词来说,它可以正常工作,但是对于应用程序商店版本,它可以成功保存数据,但是 它没有反映在该数据库中。
那么,MS-Word在哪个位置保存应用程序数据?
更新1:使用以下代码,我正在检索路径
Environment.GetFolderPath(Environment.SpecialFolder.ApplicationData) + "\\MyAppData"
奇怪的是,即使我从常规位置删除 MyAppData 仍然可以正常工作,也意味着它使用其他位置来存储数据。
更新2:
使用上述代码,我得到了以下路径,
在 Windows Store Word 中,
C:\ Users \ Abc \ AppData \ Local \ Packages \ Microsoft.Office.Desktop_8wekyb3d8bbwe \ LocalCache \ Roaming \ MyAppData
从桌面Word 中,
C:\ Users \ Abc \ AppData \ Roaming \ MyAppData
那么如何使Windows应用商店应用指向正常的 AppData 位置?
答案 0 :(得分:0)
由于删除该文件夹后该功能仍然有效,因此在创建和写入该路径时,与在读取该路径时,您所构造的路径可能有所不同。
对于这样的路径问题,诊断它的最佳方法是对其进行调试或添加日志记录,以找出每个操作使用的确切路径。在这种情况下,出现以下情况:A)创建数据库文件B)对其进行修改C)试图读取它。
顺便说一句,使用Path.Combine
优于字符串连接。