我正在使用xamarin表单开发一个xamarin应用程序。 我在xaml文件中有一个按钮,在c#中有onclick函数。
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
在大多数情况下,XAML将被正确重命名。我们最近发现了一个错误,其中Xamarin使用不寻常的版本字符串生成XAML / XML,而Dotfuscator不处理它。我们正在计划修复,但在使用Dotfuscator CE修复程序发布新版本的Visual Studio之前,它将无法使用。 (我们的下一个专业版将有修复,如果这是你的选择。)要解决这个问题,你可以exclude the method from renaming。
看起来你的XAML语法可能有误 - 我相信它应该是Clicked=
,而不是Click=
。
完全披露:我为PreEmptive Solutions工作。
在MS Docs,你可以访问ObfuscationAttribute
[ObfuscationAttribute(Exclude=true)]
void OnButtonClick(object sender, EventArgs e)
{
//some logic.
}