1

我正在做我的第一个发布版本,并且在使用 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

我需要调整我的构建/链接器/清单来解决这个问题吗?

问候,

詹姆士

4

1 回答 1

0

感谢 Atsushi 在 Mono For Android 论坛上提供的解决方案。

我需要做的是在项目属性的链接中选择“仅 SDK 程序集”。

我误读了“链接”的含义-认为这定义了要包含的程序集,而不是不使用时要排除的程序集!我认为。

于 2012-07-06T10:31:40.793 回答