Nod*_*oid 5 xamarin.ios mvvm-light
我有一个在Android和WinPhone 8上正常运行的项目.当我尝试在iOS上运行时,我收到以下错误
Microsoft.Practices.ServiceLocation.ActivationException:无法注册:在x中找不到公共构造函数
x无论SimpleIoc.Default.Register<T, TU>();流量首先出现在何处.我已经移动了代码(如其他地方所建议的那样)以确保所有特定于平台的SimpleIoc调用都在其中ViewModelLocator.
我已经在抱怨错误的类中添加了公共默认ctors(我已经将其设置PreferredConstructor为原始版本,而不是新添加的公共ctor).
我有一种感觉,这个错误是误报(其他东西是失败的,但指着那个代码).
通过构建服务器使用Xam.iOS(代码来自VS2015).Xcode正在运行8.3仿真器(可能需要更新以允许8.4测试)
如果链接器认为构造函数未被使用,则可能会优化它。尝试将链接器选项设置为“不链接”,看看它是否会再次执行此操作,甚至在其他地方新建该类的实例,以便链接器知道使用了构造函数。您不一定希望保持这种状态,但如果它消除了错误,您至少会知道原因。