MvxBind for ToggleButton仅在Release版本中失败

时间:2014-03-04 19:47:21

标签: android data-binding mvvmcross

在我的Android MvvmCross应用程序中,我的ToggleButton绑定就像Debug版本的冠军一样,但是对于Release来说却失败了。

我的ToggleButton和绑定定义类似于以下内容:

    <ToggleButton
        android:id="@+id/MyToggle"
        local:MvxBind="Checked MyToggleChecked" />

如果我为我的发布版本启用调试输出,我会看到以下日志输出:

MvxBind:Error:113.19 View type not found - ToggleButton
[0:] MvxBind:Error:113.19 View type not found - ToggleButton
03-04 14:38:41.005 I/mono-stdout(25265): MvxBind:Error:113.19 View type not found - ToggleButton

我的MvvmCross程序集是版本v4.0.30319,我的MvvmCross.Droid程序集是v2.0.50727(嗯......这有问题吗?)

有什么想法吗? (先谢谢Suart。; - )

1 个答案:

答案 0 :(得分:2)

根据Stuart Lodge的评论链接,问题是由于链接器不包括MvxBind表达式中引用的反射属性。

我添加了一个带有对该属性的显式引用的类,以强制链接器包含,现在我的Release版本一切都很好!

internal class LinkerForceInclude
{
    private LinkerForceInclude()
    {            
    }

    private void IncludeChecked(ToggleButton button)
    {
        button.Checked = !button.Checked;
    }
}