Xamarin c# xaml混淆数据绑定冲突

本文关键字:数据绑定 冲突 xaml Xamarin | 更新日期: 2023-09-27 18:04:11

我正在使用xamarin表单开发一个xamarin应用程序。
我有一个按钮在xaml文件和onclick函数在c#。

XAML

<Button Content="Button!" Click="OnButtonClick"  />

背后的代码
void OnButtonClick(object sender, EventArgs e)
{
   //some logic.
}

在混淆之前,应用程序运行良好。
但是在混淆之后,
在c#中,函数名(OnButtonClick)是模糊的
在xaml中,名称(OnButtonClick)保持不变。

由于此冲突,应用程序抛出错误。
开发工具Visual Studio 2015
Dotfuscator社区版
Xamarin 4.0.4.4

Xamarin c# xaml混淆数据绑定冲突

在大多数情况下,XAML将被正确地重命名。但是,我们最近发现了一个bug, Xamarin生成带有不寻常版本字符串的XAML/XML,而Dotfuscator无法处理它。我们正在计划修复,但要等到新版本的Visual Studio发布并修复了Dotfuscator CE之后才能使用。(我们的下一个Pro版本将有修复,如果这是你的选择。)要解决此问题,可以从重命名中排除该方法。

看起来你可能有一个错误在你的XAML语法-我相信它应该是Clicked=,而不是Click=

完全披露:我在PreEmptive Solutions工作

在MS文档中,有一个ObfuscationAttribute,你可以访问

[ObfuscationAttribute(Exclude=true)]
void OnButtonClick(object sender, EventArgs e)
{
   //some logic.
}