2012-06-08 19 views
0

MonoTouch不支持System.Configuration;這實際上意味着你不能在你的項目中使用app.config文件類型。但是,如果您現有的應用程序正在大量使用此.NET功能,該怎麼辦?跨平臺代碼重新使用Monotouch - 但app.config呢?

有什麼建議如何處理它?理想的情況是app.config可以保持原樣,並且Monotouch可以按照定義讀取設置。最後,這意味着一種System.Configuration的實現。

對此提出建議?碼?會比歡迎!

回答

0

首先,您應該認識到,MonoTouch並不意味着使應用程序可移植,只是爲了使開發人員能夠使用C#for iOS應用程序。

你可以做的很明顯的事情是將這部分包裝到你自己的配置管理代碼中,並重新實現iOS端的缺失部分。

順便說一句,Xamarin的傢伙正在努力爲iOS,WP和Android創建跨平臺的API,但我懷疑這些包括配置。他們的目的是支持像相機,指南針等設備的API,我不知道他們有多遠進展。

2

MonoTouch與標準.NET的主要區別是放棄對System.Configuration的支持,這與Silverlight的相同。

原因是這是一個相當沉重的框架,它不是一個選擇性的功能。如果我們要支持app.config,那麼即使對於不關心的應用程序,我們也必須將System.Configuration引入,從而導致結果的膨脹。

解決方法是從軟件中刪除對app.config的依賴關係,就像在Xbox或Silverlight上使用WinRT,.NET一樣。

0

我們移植了OpenNETCF.Configuration code from the SDF(通過「移植」我的意思是簡單地創建了一個MonoDroid和MonoTouch項目文件並導入了代碼文件)並且它工作正常。當然,它是完整的Configuration命名空間的子集,但它提供了我們從app.config文件中使用的幾乎所有東西。

該代碼附帶標準版和以上版本,但如果您便宜,我相當確信代碼從1.x代碼庫中免費更改,並位於上述鏈接頁面的底部。