【问题标题】:Could not resolve type: IMvxPictureChooserTask>无法解析类型:IMvxPictureChooserTask>
【发布时间】:2014-11-07 22:16:26
【问题描述】:

我正在使用 Xamarin Forms,我正在尝试使用此代码从图库中选择一张图片:

var task = Mvx.Resolve <IMvxPictureChooserTask>();
task.ChoosePictureFromLibrary(400, 95, OnPicture, () => { });

但我收到此错误:

Could not resolve type:global::Cirrious.CrossCore.Mvx.Resolve<global::Cirrious.MvvmCross.Plugins.PictureChooser.IMvxPictureChooserTask>

有什么想法吗?

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

【问题讨论】:

    标签: image xamarin mvvmcross xamarin.forms


    【解决方案1】:

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

    在你的:

    • 核心项目
      • 添加 Cirrious.MvvmCross.Plugins.PictureChooser
    • 触控项目
      • 添加 Cirrious.MvvmCross.Plugins.PictureChooser.Touch
      • 添加 Cirrious.MvvmCross.Plugins.PictureChooser
    • 机器人项目
      • 添加 Cirrious.MvvmCross.Plugins.PictureChooser.Droid
      • 添加 Cirrious.MvvmCross.Plugins.PictureChooser
    • WindowsPhone 项目
      • 添加 Cirrious.MvvmCross.Plugins.PictureChooser.WindowsPhone
      • 添加 Cirrious.MvvmCross.Plugins.PictureChooser

    等等...我希望你现在得到了模式。

    但是,这还不够,只是添加引用。你还需要告诉 MvvmCross 你想使用这个插件。所以你有几个选择。

    1. 添加一个包含引导文件的引导文件夹:

      public class DownloadCachePluginBootstrap
          : MvxPluginBootstrapAction<Cirrious.MvvmCross.Plugins.PictureChooser.PluginLoader>
      {
      }
      
    2. 在每个平台的 Setup.cs 文件中覆盖 LoadPlugins

      public override void LoadPlugins(IMvxPluginManager pluginManager)
      {
          pluginManager.EnsurePluginLoaded<Cirrious.MvvmCross.Plugins.PictureChooser.PluginLoader>();
          base.LoadPlugins(pluginManager);
      }
      

    【讨论】:

    • 好吧,我已经通过 NuGet 添加了它们,但仍然没有成功。
    • 您有 mvvmcross 应用程序 - 您是否关注 @cheesebaron 的 mvvmcross+forms 博客示例?
    • @Stuart 不完全是,我没有在这个项目中使用 setup.cs,所有视图都在核心中。我认为诀窍是使用 PluginLoader,但仍然无法弄清楚如何无需 Setup.cs 即可。
    • 如果您没有使用任何安装程序,则 MvvmCross 未初始化,这就是为什么没有任何工作...
    • 你也可以看看 crosslight 的例子——其中有几个展示了没有完整设置的插件使用
    猜你喜欢
    • 2015-10-22
    • 2013-12-14
    • 1970-01-01
    • 2017-07-19
    • 2016-09-24
    • 2021-08-28
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多