【问题标题】:TinyIoC and release buildTinyIoC 和发布版本
【发布时间】:2012-07-06 18:31:40
【问题描述】:

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

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

问候,

詹姆斯

【问题讨论】:

    标签: xamarin.android tinyioc


    【解决方案1】:

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

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

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

    【讨论】:

    • 链接是一个后期构建步骤,它会去除应用程序实际未引用的任何代码,以帮助减少大小。当代码没有被显式调用时,这可能会导致问题,例如通过反射或(反)序列化。有关链接过程的一些有用文档可在此处获得:docs.xamarin.com/android/advanced_topics/linking
    猜你喜欢
    • 1970-01-01
    • 2015-04-21
    • 1970-01-01
    • 1970-01-01
    • 2018-11-13
    • 2013-01-16
    • 1970-01-01
    • 2021-02-13
    • 2016-10-09
    相关资源
    最近更新 更多