当我在发布模式下将我的应用部署到Android设备时,我在应用程序输出中收到以下错误...
Unity.Exceptions.ResolutionFailedException: Resolution of the dependency failed, type = 'Hello.MainPage', name = '(none)'.
这是它试图解决的第一件事。我已尝试更改已解决的第一种类型,但结果相同。因此,出于某种原因,Unity显然不会在发布模式下工作。 (虽然它已经过去了。)
我已将MainPage缩减为以下内容......
public class MainPage : TabbedPage
{
}
...所以没有失败的子决议。即使我在电话会议之前添加了这个内容,它根本就不存在......
Container.RegisterType<MainPage>();
为什么这可能在发布模式下失败但在调试模式下失败?
如果我将应用的主页面属性设置为TabbedPage
,则该应用不会崩溃。
这确实有用......
Container.RegisterInstance<string>("I love computers");
string s = Container.Resolve<string>();
这不起作用......
Container.RegisterType<MainPage>();
MainPage = Container.Resolve<MainPage>();
这确实有用......
MainPage = new MainPage();
这确实有用......
Container.RegisterInstance(new MainPage());
MainPage = Container.Resolve<MainPage>();
好像没有将具体类型包含在捆绑包中,除非他们在某处新建了。
我认为我可能需要将[Preserve]
属性添加到注入的类中,但它没有区别。
似乎是将链接器设置为&#34;链接所有程序集&#34;的结果。
答案 0 :(得分:0)
我通过对每种具体类型使用new
来实现这一点。即每种类型的注册都涉及具体类型的[assembly: XamlCompilation(XamlCompilationOptions.Compile)]
。
还需要......
class Team(models.Model):
name = models.CharField(max_length=50)
others = DictField()
...否则编译器会从后面的代码中删除事件处理程序!