簡體   English   中英

無法解析類型:IMvxPictureChooserTask>

[英]Could not resolve type: IMvxPictureChooserTask>

我正在使用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視圖,但幾乎可以修復所有問題。

不確定如何將其添加到項目中,但是通常在通過NuGet添加時,它將為您解決此問題。 但是,如果您通過從自己的編譯源或二進制文件中進行添加來管理自己的引用,則可以這樣做:

在你的:

  • 核心項目
    • 添加Cirrious.MvvmCross.Plugins.PictureChooser
  • 觸摸項目
    • 添加Cirrious.MvvmCross.Plugins.PictureChooser.Touch
    • 添加Cirrious.MvvmCross.Plugins.PictureChooser
  • Droid項目
    • 添加Cirrious.MvvmCross.Plugins.PictureChooser.Droid
    • 添加Cirrious.MvvmCross.Plugins.PictureChooser
  • WindowsPhone項目
    • 添加Cirrious.MvvmCross.Plugins.PictureChooser.WindowsPhone
    • 添加Cirrious.MvvmCross.Plugins.PictureChooser

等等...我希望您現在就掌握了模式。

但是,僅添加引用還不夠。 您還需要告訴MvvmCross您要使用此插件。 因此,您有兩種選擇。

  1. 添加包含包含以下內容的引導程序文件的Bootstrap文件夾:

     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); } 

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM