C# Mvvmcross:文件插件错误
当使用mvvmCross文件插件时,我得到以下错误。我尝试使用N-14代码示例,它使用“文件插件3.1.1-beta”,我得到了错误,我还使用了一个新的项目,从nuGet下载了最新的插件版本,我也得到了相同的错误 这似乎和这家伙的问题一样:C# Mvvmcross:文件插件错误,c#,ios,xamarin,mvvmcross,C#,Ios,Xamarin,Mvvmcross,当使用mvvmCross文件插件时,我得到以下错误。我尝试使用N-14代码示例,它使用“文件插件3.1.1-beta”,我得到了错误,我还使用了一个新的项目,从nuGet下载了最新的插件版本,我也得到了相同的错误 这似乎和这家伙的问题一样: https://github.com/MvvmCross/MvvmCross/issues/510 这似乎是错误消息中的主线: Failed to resolve parameter for parameter fileStore of type IMvx
https://github.com/MvvmCross/MvvmCross/issues/510
这似乎是错误消息中的主线:
Failed to resolve parameter for parameter fileStore of type IMvxFileStor
at Cirrious.CrossCore.IoC.MvxSimpleIoCContainer.GetIoCParameterValues (System.Type type, System.Reflection.ConstructorInfo firstConstructor) [0x00000] in <filename unknown>:0
无法解析IMvxFileStor类型的参数文件存储的参数
在Cirrium.CrossCore.IoC.MvxSimpleIoCContainer.GetIoCParameterValues(System.Type类型,System.Reflection.ConstructorInfo firstConstructor)[0x00000]中:0
我尝试重新启动xamarin studio和我的MacPro等。我使用的位置和messenger插件没有任何问题
请告知
跟踪:
2014-03-17 20:37:44.836 MCOTaxiIOS[2730:60b]触摸导航:诊断:0.56导航请求
[0:]触摸导航:诊断:0.56导航请求
已将“/Developer/Projects/MCO/MCO.IOS/Views/FirstView.cs:58,1”处的挂起断点解析为MonoTouch.UIKit.UIViewController MCO.IOS.Views.FirstView.CreateTabFor(字符串标题、字符串imageName、ciriric.MvvmCross.ViewModels.IMvxViewModel视图模型)[0x0002f]。
[0:]
2014-03-17 20:37:44.875 MCO[2730:60b]mvx:诊断:0.59请求为空-假设这是一种选项卡类型的情况,在构造期间调用ViewDidLoad。。。现在就修补请求-但是在构建过程中要注意虚拟调用的问题
[0:]mvx:Diagnostic:0.59请求为空-假设这是一种选项卡类型的情况,在构造过程中调用ViewDidLoad。。。现在就修补请求-但是在构建过程中要注意虚拟调用的问题
已解决“/Developer/Projects/MCO/MCO.Common/Services/LocationService.cs:110,1”处的挂起断点,以使MCO.Common.LocationService.OnError无效(cirrius.MvvmCross.Plugins.Location.MvxLocationError)[0x00001]。
[0:]
2014-03-17 20:37:44.917 MCO[2730:60b]mvx:警告:0.64创建FirstViewModel类型的viewModel时出现问题-问题MvxIoCResolveException:创建MCO.Common.ViewModels.FirstViewModel时未能解析IMvxFileStore类型的参数文件存储的参数
在Cirrium.CrossCore.IoC.MvxSimpleIoCContainer.GetIoCParameterValues(System.Type类型,System.Reflection.ConstructorInfo firstConstructor)[0x00000]中:0
在cirrium.CrossCore.IoC.MvxSimpleIoCContainer.IoCConstruct(System.Type)[0x00000]中:0
在cirrium.CrossCore.Mvx.IocConstruct(System.Type t)[0x00000]中:0
在Cirriary.MvvmCross.ViewModels.MvxDefaultViewModelLocator.TryLoad(System.Type viewModelType、IMvxBundle参数值、IMvxBundle保存状态、IMvxViewModel和viewModel)[0x00000]中:0
[0:]mvx:警告:0.64创建FirstViewModel类型的viewModel时出现问题-问题MvxIoCResolveException:在创建MCO.Common.ViewModels.FirstViewModel时未能解析IMvxFileStore类型的参数文件存储的参数
在Cirrium.CrossCore.IoC.MvxSimpleIoCContainer.GetIoCParameterValues(System.Type类型,System.Reflection.ConstructorInfo firstConstructor)[0x00000]中:0
在cirrium.CrossCore.IoC.MvxSimpleIoCContainer.IoCConstruct(System.Type)[0x00000]中:0
在cirrium.CrossCore.Mvx.IocConstruct(System.Type t)[0x00000]中:0
在Cirriary.MvvmCross.ViewModels.MvxDefaultViewModelLocator.TryLoad(System.Type viewModelType、IMvxBundle参数值、IMvxBundle保存状态、IMvxViewModel和viewModel)[0x00000]中:0
堆栈跟踪:
System.Reflection.TargetInvocationException:调用的目标已引发异常。-->System.Exception:无法从定位器MvxDefaultViewModelLocator为CollectABull.Core.ViewModels.FirstViewModel类型构造和初始化ViewModel-有关详细信息,请检查MvxTrace
在Cirries.MvvmCross.ViewModels.MvxViewModelLoader.LoadViewModel(Cirries.MvvmCross.ViewModels.MvxViewModelRequest请求、IMvxBundle保存状态、IMvxViewModelLocator viewModelLocator)[0x00000]中:0
在Cirries.MvvmCross.ViewModels.MVXViewModelLoadLoadViewModel(Cirries.MvvmCross.ViewModels.MvxViewModelRequest请求,IMvxBundle保存状态)[0x00000]中:0
在cirriary.MvvmCross.Touch.Views.MvxViewControllerExtensionMethods.LoadViewModel(IMvxTouchView touchView)[0x00000]中:0
在cirries.MvvmCross.Touch.Views.mvxviewController扩展方法+c_DisplayClass1.b_0()[0x00000]中:0
在cirriary.MvvmCross.Views.MvxViewExtensionMethods.OnViewCreate(IMvxView视图,System.Func`1 viewModelLoader)[0x00000]中:0
在cirriary.MvvmCross.Touch.Views.MvxViewControllerExtensionMethods.OnViewCreate(IMvxTouchView touchView)[0x00000]中:0
在Cirrious.MvvmCross.Touch.Views.MVXViewController适配器.HandleviewIDLoadCalled处(System.Object sender,System.EventArgs e)[0x00000]输入:0
at(包装器委托调用):调用\u void\u此\u对象\u事件参数(对象,System.EventArgs)
在cirrius.CrossCore.Core.MvxDelegateExtensionMethods.Raise(System.EventHandler,System.Object sender)[0x00000]中:0
在Cirrium.CrossCore.Touch.Views.MvxEventSourceTabBarController.ViewDidLoad()[0x00000]中:0
在/Developer/Projects/MCO/MCO.IOS/Views/FirstView.cs:26中的MCO.IOS.Views.FirstView.ViewDidLoad()[0x00002]处
在/Developer/Projects/MCO/MCO.IOS/Views/FirstView.cs:18中的MCO.IOS.Views.FirstView..ctor()[0x0000f]处
at(包装器管理为本机)System.Reflection.MonoCMethod:InternalInvoke(System.Reflection.MonoCMethod,object,object[],System.Exception&)
在/Developer/MonoTouch/Source/mono/mcs/class/corlib/System.Reflection/monmethod.cs:537中的System.Reflection.MonoCMethod.InternalInvoke(System.Object obj,System.Object[]参数)[0x00002]处
MvvmCross插件通常分为两部分。核心PCL项目中有一个接口。然后是特定于平台的实现
public class FilePluginBootstrap
: MvxPluginBootstrapAction<Cirrious.MvvmCross.Plugins.File.PluginLoader>
{
}
public class Plugin
: IMvxPlugin
{
public void Load()
{
Mvx.RegisterType<IMvxFileStore, MvxTouchFileStore>();
}
}