首页 > 解决方案 > 在发布版本中保留共享项目中的所有类

问题描述

我正在使用 Xamarin.Forms 开发跨平台应用程序,并且我对构建发布版本的链接器有些痛苦。我使用 MVVM 模式,一些服务的依赖注入,值转换器,行为,标记扩展......我不得不[Preserve(AllMembers = true)]在许多类上使用该属性,以便链接器不会删除它们。

是否有任何方法可以保留所有共享项目类和成员而不在所有“未使用”文件中使用Preserve属性?

标签: xamarin.formslinkerrelease

解决方案


您可以从 iOS 链接器中排除整个程序集

在 iOS 项目选项下的“附加 mtouch 参数”中

--linkskip=NameOfAssemblyToSkipWithoutFileExtension

在 Android 中,您可以使用linkskip

<PropertyGroup>
    <AndroidLinkSkip>Assembly1;Assembly2</AndroidLinkSkip>
</PropertyGroup>

推荐阅读