繁体   English   中英

Xamarin C#XAML混淆数据绑定冲突

[英]Xamarin c# xaml obfuscation data binding conflict

我正在使用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不处理它。 我们正在计划一个修复程序,但是直到发布新版本的Visual Studio和Dotfuscator CE修复程序后,该修复程序才可用。 (如果您可以选择,我们的下一个Pro版本将提供此修复程序。)要解决此问题,您可以将方法排除在重命名之外

而且看起来您的XAML语法可能有误-我认为它应该是Clicked= ,而不是Click=

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

MS Docs中 ,您可以访问一个ObfuscationAttribute

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

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM