Android 如何强制链接时不删除类?

Android 如何强制链接时不删除类?,android,linker,xamarin.android,release,Android,Linker,Xamarin.android,Release,如何强制链接时不删除类?我在VisualStudio2015的框架Xamarin上编写Android应用程序。面临这样一个问题:应用程序在调试模式下运行良好,但当您将应用程序功能的发布模式置于关闭状态时,即链接时删除了几个类,当它们调用时,应用程序崩溃。尝试了Xamarin在类之前放置的两个书面文档是属性之一: [Android.Runtime.Preserve] [Android.Runtime.Preserve (AllMembers = true)] [Android.Runtime.Pr

如何强制链接时不删除类?我在VisualStudio2015的框架Xamarin上编写Android应用程序。面临这样一个问题:应用程序在调试模式下运行良好,但当您将应用程序功能的发布模式置于关闭状态时,即链接时删除了几个类,当它们调用时,应用程序崩溃。尝试了Xamarin在类之前放置的两个书面文档是属性之一:

[Android.Runtime.Preserve]
[Android.Runtime.Preserve (AllMembers = true)]
[Android.Runtime.Preserve (Conditional = true)]
没有帮助。我也试过:

#pragma warning disable 0219, 0649
这没有帮助。我尝试使用链接跳过,但没有效果


找到了唯一的解决方案,它位于链接器属性中,指示链接器行为=不链接(Visual Studio中无)(在调试模式下)。但这是一个糟糕的解决方案,因为它适合调试,但不适合发布。应用程序大小增加了2.5倍以上

我遇到了同样的问题,解决的方法是将链接器行为更改为仅链接SDK程序集,并将Xamarin studio频道更改为Alpha。

一个选项是在项目根目录中创建Linker.xml文件,如前所述。该文件应包含您希望确保在链接期间不会被删除的所有类型。比如:

<?xml version="1.0" encoding="UTF-8"?>
<linker>
    <assembly fullname="Your.Assembly.Name">
        <type fullname="Fully.Qualified.Type.Name" />
    </assembly>
</linker>

确保将文件的生成操作设置为LinkDescription

此外,我还遇到了一个问题,我包括了一个类型,但它的基类在链接过程中被删除了。确保包含该类型的所有祖先

希望有帮助


保罗

谢谢你的回答,但是切换到阿尔法频道并不需要。我将等待一个稳定的版本,也许这个错误修复