2012-07-06 193 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