Xamarin 链接器:找不到类型 MvvmCross.Platform.IoC.MvxPropertyInjector 的默认构造函数

Xamarin Linker: Default constructor not found for type MvvmCross.Platform.IoC.MvxPropertyInjector

这是与 this 相同的问题,但解决方案对我不起作用。我有一个包含以下内容的 LinkerPleaseInclude.cs 文件:

public void Include(MvvmCross.Platform.IoC.MvxPropertyInjector injector)
{
    injector = new MvvmCross.Platform.IoC.MvxPropertyInjector();
} 

我正在使用 Link All 作为链接器行为,但我的印象是在 LinkerPleaseInclude.cs 中包含上述内容会提示链接器不会将其删除。

不确定这是否重要,但这里有一些平台详细信息:

Xamarin Studio 6.3

MvvmCross 4.4.0

.NETCore UWP 5.3.3

名为 LinkerPleaseInclude.cs 的文件本身不保留任何内容。这只是 Mvvmcross 使用的约定。

因此,如果没有任何内容调用(或保留*)您的 Include 方法,那么链接器将不会标记它(根据需要)并且 MvxPropertyInjector .ctor 将不会被标记。

* 在方法上添加 [Preserve] 属性将确保链接器包含它(以及它调用的所有内容)。