在App.xaml.cs

时间:2017-12-13 11:43:56

标签: xamarin.forms prism

我很感激以下方面的帮助..

我已经使用Prism Forms启动了Xamarin Forms应用程序。

我使用Template Pack在Visual Studio(Windows)中创建了项目。

项目构建正常但是当我尝试在Mac上的模拟器中运行它时,一旦应用程序启动,我就会在调用PrismApplication类的基础构造函数时出错。请参阅下面的错误消息和堆栈跟踪。提前谢谢。

包版本

  • Prism.Ninject.Forms版本:7.0.0.168-pre(也尝试过相同版本的Unity.Forms)
  • Xamarin.Forms版本:2.4.0.282

错误消息:此平台不支持此操作

来源:System.Reflection.Emit.Lightweight

堆栈追踪:

at System.Reflection.Emit.DynamicMethod..ctor(System.String name,System.Type returnType,System.Type [] parameterTypes,System.Boolean restrictedSkipVisibility)[0x00006] in&lt; 896ad3a163a543758d64d3128b003bfb&gt ;:0   在Ninject.Injection.DynamicMethodInjectorFactory.Create(System.Reflection.ConstructorInfo构造函数)[0x00005] in:0   在Ninject.Planning.Strategies.ConstructorReflectionStrategy.Execute(Ninject.Planning.IPlan plan)[0x0005c] in:0   在Ninject.Planning.Planner +&lt;&gt; c__DisplayClass9_0.b__0(Ninject.Planning.Strategies.IPlanningStrategy s)[0x00000] in:0   在Ninject.Infrastructure.Language.ExtensionsForIEnumerableOfT.Map [T](System.Collections.Generic.IEnumerable 1[T] series, System.Action 1 [T] action)[0x00010] in:0   在Ninject.Planning.Planner.CreateNewPlan(System.Type类型)[0x00053] in:0   在Ninject.Planning.Planner.GetPlan(System.Type类型)[0x00026] in:0   在Ninject.Activation.Providers.StandardProvider.Create(Ninject.Activation.IContext context)[0x00053] in:0   在Ninject.Activation.Context.ResolveInternal(System.Object范围)[0x00034] in:0   在Ninject.Activation.Context.Resolve()[0x00073]中:0   在Ninject.KernelBase.Resolve(Ninject.Activation.IRequest请求,System.Boolean handleMissingBindings)[0x00144] in:0   在Ninject.KernelBase.Resolve(Ninject.Activation.IRequest请求)[0x00000] in:0   在Ninject.ResolutionExtensions.GetResolutionIterator(Ninject.Syntax.IResolutionRoot根,System.Type的服务,System.Func 2[T,TResult] constraint, System.Collections.Generic.IEnumerable 1 [T]参数,System.Boolean isOptional,System.Boolean isUnique设置)[0x0002f]中:0   在Ninject.ResolutionExtensions.Get [T](Ninject.Syntax.IResolutionRoot root,System.String name,Ninject.Parameters.IParameter [] parameters)[0x0000d] in:0   在Prism.Ninject.PrismApplication.CreateNavigationService()[0x00010] in:0   在Prism.PrismApplicationBase 1[T].Initialize () [0x0004d] in <ec44a08008f44d76a60fa1415f8ba03b>:0 at Prism.PrismApplicationBase 1 [T] .InitializeInternal()[0x00006] in:0   在Prism.PrismApplicationBase 1[T]..ctor (Prism.IPlatformInitializer 1 [T]初始化程序)[0x00031] in:0   在Prism.Ninject.PrismApplication.get_Logger()[0x00000]中:0   在MyProject.App..ctor(Prism.Ninject.IPlatformInitializer初始化程序)[0x00000] /Users/Tomas/Projects/MyProject/MyProject/MyProject/App.xaml.cs:23   在/Users/Tomas/Projects/MyProject/MyProject/MyProject.iOS/AppDelegate.cs:24中的MyProject.iOS.AppDelegate.FinishedLaunching(UIKit.UIApplication应用程序,Foundation.NSDictionary选项)[0x00007]   at(包装器托管到原生)UIKit.UIApplication:UIApplicationMain(int,string [],intptr,intptr)   在UIKit.UIApplication.Main(System.String [] args,System.IntPtr principal,System.IntPtr委托)[0x00005]在/ Users / builder / data / lanes / 5489 / c4240f3f / source / xamarin-macios / src / UIKit中/UIApplication.cs:79   在/ Users / builder / data / lanes / 5489 / c4240f3f / source / xamarin-macios / src / UIKit中的UIKit.UIApplication.Main(System.String [] args,System.String principalClassName,System.String delegateClassName)[0x00038] /UIApplication.cs:63   在MyProject.iOS.Application.Main(System.String []参数)[0x00001]在/Users/Tomas/Projects/MyProject/MyProject/MyProject.iOS/Main.cs:17

1 个答案:

答案 0 :(得分:0)

虽然我不确定是什么导致了您在此处注意到的异常,但这确实导致在Prism.Ninject.Forms的Prism 7预览5中发现了许多问题,特别是围绕ContainerExtension。这些问题现已得到修复,可从MyGet上的7.0.0.340-ci版开始提供。