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

问题描述 投票:2回答:2

我正在使用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

c# xaml xamarin.forms obfuscation dotfuscator
2个回答
3
投票

在大多数情况下,XAML将被正确重命名。我们最近发现了一个错误,其中Xamarin使用不寻常的版本字符串生成XAML / XML,而Dotfuscator不处理它。我们正在计划修复,但在使用Dotfuscator CE修复程序发布新版本的Visual Studio之前,它将无法使用。 (我们的下一个专业版将有修复,如果这是你的选择。)要解决这个问题,你可以exclude the method from renaming

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

完全披露:我为PreEmptive Solutions工作。


1
投票

MS Docs,你可以访问ObfuscationAttribute

[ObfuscationAttribute(Exclude=true)]
void OnButtonClick(object sender, EventArgs e)
{
   //some logic.
}
© www.soinside.com 2019 - 2024. All rights reserved.