Android 如何强制链接时不删除类?
如何强制链接时不删除类?我在VisualStudio2015的框架Xamarin上编写Android应用程序。面临这样一个问题:应用程序在调试模式下运行良好,但当您将应用程序功能的发布模式置于关闭状态时,即链接时删除了几个类,当它们调用时,应用程序崩溃。尝试了Xamarin在类之前放置的两个书面文档是属性之一: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
[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
此外,我还遇到了一个问题,我包括了一个类型,但它的基类在链接过程中被删除了。确保包含该类型的所有祖先
希望有帮助
保罗谢谢你的回答,但是切换到阿尔法频道并不需要。我将等待一个稳定的版本,也许这个错误修复