Windows runtime 从辅助程序集部署支持文件

Windows runtime 从辅助程序集部署支持文件,windows-runtime,Windows Runtime,我正在将一个使用MVVMCross编写的电话应用程序移植到Windows RT。该应用程序使用SQLite,并且在部署时有一个不为空的数据库,因此我希望在应用程序启动时将其打包在安装文件夹中并复制到LacalFolder 该数据库实际上属于phone和WinRT之间共享的“Core”程序集,但如果我将该文件放在Core项目中(在名为Data的自定义目录中),请将其定义为内容,并设置Copy Always(始终复制)标志,则该文件不会复制到应用程序安装文件夹 如果我把文件放在UI项目下的一个目录中

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

该数据库实际上属于phone和WinRT之间共享的“Core”程序集,但如果我将该文件放在Core项目中(在名为Data的自定义目录中),请将其定义为内容,并设置Copy Always(始终复制)标志,则该文件不会复制到应用程序安装文件夹

如果我把文件放在UI项目下的一个目录中,该文件将按预期进行复制。有没有建议避免为同一资源保留两个文件(以及这将导致的问题)


感谢您的帮助

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

感谢您的建议,指向文件的链接是一个可行的解决方案。让我困惑的是,现在仍然是,我在解决方案中将核心库作为一个项目,而不仅仅是DLL引用。所有内容都会被复制(例如多语言支持的核心资源),但数据库文件不会被复制。