Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/image/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Image 无法解析类型:IMVxPictureChoserTask>;_Image_Xamarin_Mvvmcross_Xamarin.forms - Fatal编程技术网

Image 无法解析类型:IMVxPictureChoserTask>;

Image 无法解析类型:IMVxPictureChoserTask>;,image,xamarin,mvvmcross,xamarin.forms,Image,Xamarin,Mvvmcross,Xamarin.forms,我正在使用Xamarin表单,并尝试使用以下代码从图库中选择图片: var task = Mvx.Resolve <IMvxPictureChooserTask>(); task.ChoosePictureFromLibrary(400, 95, OnPicture, () => { }); var task=Mvx.Resolve(); task.ChoosePictureFromLibrary(400,95,OnPicture,()=>{}); 但我得到了这个错误: C

我正在使用Xamarin表单,并尝试使用以下代码从图库中选择图片:

var task = Mvx.Resolve <IMvxPictureChooserTask>();
task.ChoosePictureFromLibrary(400, 95, OnPicture, () => { });
var task=Mvx.Resolve();
task.ChoosePictureFromLibrary(400,95,OnPicture,()=>{});
但我得到了这个错误:

Could not resolve type:global::Cirrious.CrossCore.Mvx.Resolve<global::Cirrious.MvvmCross.Plugins.PictureChooser.IMvxPictureChooserTask>
无法解析类型:global::cirries.CrossCore.Mvx.resolve
有什么想法吗


编辑:嗯,最后我不得不改变我项目的架构,并从PCL中获取视图。这几乎解决了所有问题,尽管创建iOS视图是可行的。

不确定您是如何将其添加到项目中的,但通常通过NuGet添加时,它会为您解决这一问题。但是,如果您通过从自己编译的源代码或二进制文件添加来管理自己的引用,则可以执行以下操作:

在您的:

  • 核心项目
    • 添加cirries.MvvmCross.Plugins.PictureChooser
  • 触摸项目
    • 添加cirries.MvvmCross.Plugins.PictureChooser.Touch
    • 添加cirries.MvvmCross.Plugins.PictureChooser
  • 机器人项目
    • 添加cirries.MvvmCross.Plugins.PictureChooser.Droid
    • 添加cirries.MvvmCross.Plugins.PictureChooser
  • WindowsPhone项目
    • 添加cirries.MvvmCross.Plugins.PictureChooser.WindowsPhone
    • 添加cirries.MvvmCross.Plugins.PictureChooser
等等。。。我希望你现在明白了

然而,仅仅添加引用是不够的。你还需要告诉MvvmCross你想使用这个插件。所以你有两个选择

  • 添加包含以下引导文件的引导文件夹:

    public class DownloadCachePluginBootstrap
        : MvxPluginBootstrapAction<Cirrious.MvvmCross.Plugins.PictureChooser.PluginLoader>
    {
    }
    

  • 嗯,我是通过NuGet添加的,但仍然不走运。你有mvvmcross应用程序吗?你在关注@cheesebaron的mvvmcross+表单博客示例吗?@Stuart不完全是,我在这个项目中没有使用setup.cs,所有视图都在核心。我认为诀窍是使用PluginLoader,但是仍然不知道如何在没有Setup.cs的情况下完成。如果你没有使用任何设置,那么MvvmCross没有初始化,这就是为什么什么都不起作用…你也可以看看crosslight示例-其中一些示例显示了插件在没有完全设置的情况下的使用
    public override void LoadPlugins(IMvxPluginManager pluginManager)
    {
        pluginManager.EnsurePluginLoaded<Cirrious.MvvmCross.Plugins.PictureChooser.PluginLoader>();
        base.LoadPlugins(pluginManager);
    }