Mvvmlight和Xamarin.iOS找不到默认的ctor

Mvvmlight和Xamarin.iOS找不到默认的ctor,xamarin.ios,mvvm-light,Xamarin.ios,Mvvm Light,我有一个在Android和WinPhone8上运行良好的项目。当我尝试在iOS上运行时,我得到以下错误 Microsoft.Practices.ServiceLocation.ActivationException:无法 寄存器:在x中找不到公共构造函数 其中x是任何SimpleIoc.Default.Register()的值流首先命中。我已经移动了代码(如其他地方所建议的),以确保所有特定于平台的SimpleIoc调用都是在ViewModelLocator中进行的 我已经在抱怨错误的类中添加了

我有一个在Android和WinPhone8上运行良好的项目。当我尝试在iOS上运行时,我得到以下错误

Microsoft.Practices.ServiceLocation.ActivationException:无法 寄存器:在x中找不到公共构造函数

其中
x
是任何
SimpleIoc.Default.Register()的值流首先命中。我已经移动了代码(如其他地方所建议的),以确保所有特定于平台的
SimpleIoc
调用都是在
ViewModelLocator
中进行的

我已经在抱怨错误的类中添加了公共默认构造函数(不过我已经将
PreferredConstructor
设置为原始,而不是新添加的公共构造函数)

我有一种感觉,这个错误是一个误报(其他的东西失败了,但是指向了那个代码)


通过构建服务器使用Xam.iOS(代码来自VS2015)。Xcode正在运行8.3模拟器(可能需要更新以允许8.4测试)

如果链接器认为没有使用构造函数,则可能是链接器在优化构造函数。尝试将链接器选项设置为“Don'tlink”,然后查看它是否再次执行此操作,或者甚至在其他位置新建该类的实例,以便链接器知道使用了构造函数。您不一定要这样做,但如果它消除了错误,您至少会知道原因。

属性[Preserve]对我起了作用。 用它装饰构造器并保留链接器设置


此属性是Microsoft.WindowsAzure.MobileServices命名空间的一部分。

在默认构造函数上添加[Preserve]属性,以防止链接器优化它。@Steve Morgan尝试了链接器选项“不链接”,但仍在崩溃。。我正在尝试在我的iPhone上运行iPhone分发构建我正在app store上上载我的ipa,并使用试飞下载ipa,尝试运行应用程序立即崩溃。。。如果我在模拟器上运行我的应用程序,它只适用于发行版构建,导致此问题的任何建议都将被采纳。。