2012-11-01 47 views
1

我有(相當多)靜態文件,我需要使用構建在傳統.NET庫上的應用程序進行部署。這些包括幾個XML和配置文件,以及十幾兆字節的只讀數據庫。如何將大量的靜態文件添加到MonoTouch包中?

我見過的大多數論壇都表示,實現這一目標的最佳方法是引用項目中所需的文件,並將它們設置爲內容和「複製到輸出目錄」。

我有兩個問題/問題處理這個:

  1. 添加這些文件,將它們設置爲「內容」,似乎不僅複製文件結束,但將它們嵌入到.dll文件,以及。換句話說,我有40 MB的文件和一個40MB的dll(這個項目的唯一目標是導入這些文件,沒有實質性的代碼)。 如何防止這個非常大的dll被製作?

  2. 是否有其他方法可以將文件導入應用程序包?我很想使用自定義構建命令,雖然我可以將文件複製到目標目錄$ {AppDirectory},但這不會導致這些文件結束於應用程序包中。 這種方法可行嗎?

任何幫助預先感謝。

回答

1

您需要包含主文件.exe項目。您可以通過在每個文件上使用MonoDevelop的構建動作內容執行此操作。它們應該被複制到.app,而不被包含在.dll(或.exe)中。

替代方案(開發)是使用iTunes sharing一次您的文件複製到您的設備。這可以讓你在開發時更快地部署時間。

當然,您不能將這樣的構建提交給應用商店(除非不需要這些文件來使應用程序工作,不太可能)。我所做的(對於我的近80MB只讀數據庫)是在#if DEBUG內使用這個破解(從/ Documents加載)。版本構建從正常的位置加載文件。

我還沒有自動化進程(仍在調試應用程序;-),但應該可以編寫腳本,以便從Debug和Release版本切換時不需要修改項目選項(對於每個文件)。

+0

文件是主要可執行項目的一部分的必要性嗎?爲什麼他們不能成爲圖書館項目的一部分?理想情況下,我們將擁有該庫使用的許多目標可執行文件。由於我不能將它們粘貼到某個子文件夾中,並仍然保持庫期望的適當文件層次結構,因此在使用> 50個只讀xml(和其他配置)文件運行所需的文件庫時會添加額外的痛苦。 –

+0

在MonoDevelop 3.1中不需要(假定庫項目是MonoTouch庫項目) – jstedfast

相關問題