2012-07-06 131 views
1

我正在做我的第一個發佈版本,並且遇到TinyIoC問題並解決了通過TinyIoC使用的接口問題。TinyIoC和發佈版本

我們已經得到的架構是:

Universal.Mobile.Droid.application - 主要應用

Universal.Mobile.Droid.Interfaces - 包含IUniversalMobileDroidDAO

Universal.Mobile的定義。 Droid.DAO.UltraliteDAO - 包含 的實現IUniversalMobileDroidDAO

當我在版本上構建和部署/在我的設備上運行時,出現錯誤:

07-06 10:30:23.706 I/dalvikvm(4783): Turning on JNI app bug workarounds for target SDK version 12... 
07-06 10:30:23.816 I/ActivityThread(4783): Pub UniversalMonoPhone.UniversalMonoPhone.__mono_init__: mono.MonoRuntimeProvider 
07-06 10:30:23.816 D/dalvikvm(4783): Trying to load lib /data/data/UniversalMonoPhone.UniversalMonoPhone/lib/libmonodroid.so 0x4104d468 
07-06 10:30:23.846 D/dalvikvm(4783): Added shared lib /data/data/UniversalMonoPhone.UniversalMonoPhone/lib/libmonodroid.so 0x4104d468 
07-06 10:30:23.846 W/MonoDroid-Debugger(4783): Trying to initialize the debugger with options: --debugger-agent=transport=dt_socket,loglevel=0,address=127.0.0.1:8977,server=y,embedding=1 
07-06 10:30:23.866 W/MonoDroid-Debugger(4783): Accepted stdout connection: 41 
07-06 10:30:24.656 E/mono (4783): WARNING: The runtime version supported by this application is unavailable. 
07-06 10:30:24.656 E/mono (4783): Using default runtime: v2.0.50727 
07-06 10:30:25.126 I/monodroid-gc(4783): environment supports jni NewWeakGlobalRef 
07-06 10:30:25.166 W/monodroid-gc(4783): GREF GC Threshold: 46800 
Loaded assembly: Universal Mono Phone.dll 
Loaded assembly: Universal.Mobile.Droid.Interfaces.dll 
Loaded assembly: Autoforms.Universal.Mobile.Core.Interfaces.Droid.dll 
Loaded assembly: Autoforms.Universal.Mobile.Core.Objects.Droid.dll 
Loaded assembly: Universal.Mobile.Droid.DAO.UltraliteDAO.dll 
Loaded assembly: UltraliteForMono.dll 
Loaded assembly: Mono.Android.dll [External] 
Loaded assembly: System.Core.dll [External] 
Loaded assembly: MonoDroidConstructors [External] 
Unhandled Exception: 

TinyIoC.TinyIoCResolutionException: Unable to resolve type: Autoforms.Universal.Mobile.Droid.Interfaces.IUniversalMobileDroidDAO 

我需要調整我的構建/鏈接器/清單來解決這個問題嗎?

問候,

詹姆斯

回答

0

感謝來自淳在單聲道輸入的Android論壇的解決方案。

我需要做的是在項目屬性上的鏈接中選擇「僅限SDK組件」。

我誤解了'鏈接'的含義 - 認爲這定義了要包含的程序集,而不是要排除的程序集,如果不使用!我認爲。

+0

鏈接是一個構建後步驟,可以去除任何實際上未被應用引用的代碼,以幫助減小尺寸。當代碼沒有被明確調用時,這可能會導致問題,例如通過反射或(反)序列化。有關鏈接過程的一些有用文檔可在此處獲得:http://docs.xamarin.com/android/advanced_topics/linking – 2012-07-06 13:26:23