1

我有(相当多的)静态文件,我需要使用构建在遗留 .NET 库之上的应用程序来部署这些文件。其中包括几个 XML 和配置文件,以及一个 10 兆字节的只读数据库。

我见过的大多数论坛都表明,实现这一点的最佳方法是在项目中引用所需的文件,并将它们设置为内容和“复制到输出目录”。

我有两个问题/问题处理这个:

  1. 添加这些文件并将它们设置为“内容”似乎不仅将文件复制过来,而且还将它们嵌入到 .dll 中。换句话说,我有 40 MB 的文件和一个 40 MB 的 dll(这个项目的唯一目标是导入这些文件,没有实质性代码)。 如何防止制作这个非常大的 dll?

  2. 有没有其他方法可以将文件放入 App 包中?我很想使用自定义构建命令,虽然我可以将文件复制到目标目录 ${AppDirectory} 中,但这不会导致这些文件最终出现在应用程序包中。这种方法可行吗?

提前感谢任何帮助。

4

1 回答 1

1

您需要包含主.exe项目中的文件。您可以通过对每个文件使用 MonoDevelop 的Build Action to Content来做到这一点。它们应该被复制到 .app 而不包含在 .dll(或 .exe)中。

一种替代方法(用于开发)是使用iTunes 共享将您的文件复制到您的设备。这使您在开发时可以更快地部署。

当然,您不能将此类构建提交到应用商店(除非这些文件不需要使应用程序工作,不太可能)。我所做的(对于我将近80MB的只读数据库)是在#if DEBUG. 发布版本从正常位置加载文件。

我没有自动化该过程(仍在调试应用程序;-)但应该可以编写脚本,因此从调试和发布版本切换时不需要修改项目选项(针对每个文件)。

于 2012-11-01T19:58:28.403 回答