Windows 运行时 - 从辅助程序集部署支持文件



I'm,将使用MVVMCross编写的手机应用程序移植到Windows RT。该应用程序使用 SQLite 并且有一个在部署时不为空的数据库,因此我希望它在应用程序启动时打包在复制到 LacalFolder 的安装文件夹中。

数据库确实属于手机和 WinRT 之间共享的"核心"程序集,但如果我将文件放在核心项目(在名为 Data 的自定义目录中)中,将其定义为内容并设置始终复制标志,该文件不会复制到应用程序安装文件夹。

如果我将文件放在 UI 项目下的目录中,则会按预期复制文件。任何建议避免为同一资源保留两个文件(以及这将造成的麻烦)?

感谢您的帮助

默认情况下,

Windows 8 WinRT 项目使用内容类型,该内容类型对文件进行松散打包(它们不包括在程序集中)。如果核心程序集是作为项目的解决方案的一部分 - VS 将正确打包它,将所有内容复制到 appx 的"核心"子文件夹。如果只是在解决方案中引用了 dll 文件,则不会打包资源文件。在这种情况下,解决方案是执行一些操作来获取这些附加文件以使用 dll 进行部署。一种选择是将 dll 打包为 .vsix 以及 Tim Heuer 博客文章中描述的资产。另一种方法是执行您所做的操作并将文件放入应用程序项目中。您可以将文件添加到应用程序项目"作为链接"以避免拥有文件的副本 - 它使Visual Studio创建一种指向文件的逻辑/符号链接,而不是创建副本 - 只需右键单击解决方案资源管理器/应用项目中的文件夹,选择"添加/现有项",浏览到该文件,而不是点击"添加"按钮 - 使用按钮上的下拉三角形选择"添加为"链接"。

最新更新