Mvvm 以沙马林为原料的Catel

Mvvm 以沙马林为原料的Catel,mvvm,xamarin.forms,catel,Mvvm,Xamarin.forms,Catel,我找不到Xamarin表格和Catel一起工作 我看到了这个,但似乎已经过时了 当我通过NuGet下载Catel时,我会收到不同版本的不同问题: v5.1: 编译时异常: 加载程序集时出现异常:System.IO.FileNotFoundException:无法加载程序集“过时,版本=4.2.4.0,区域性=中性,PublicKeyToken=1ca091877d12ca03”。也许它在Mono for Android配置文件中不存在? v5.0: 运行时异常(创建新应用程序()时;): 无法

我找不到Xamarin表格和Catel一起工作

我看到了这个,但似乎已经过时了

当我通过NuGet下载Catel时,我会收到不同版本的不同问题:

  • v5.1:

    编译时异常:

    加载程序集时出现异常:System.IO.FileNotFoundException:无法加载程序集“过时,版本=4.2.4.0,区域性=中性,PublicKeyToken=1ca091877d12ca03”。也许它在Mono for Android配置文件中不存在?

  • v5.0:

    运行时异常(创建新应用程序()时;):

    无法加载Catel.MVVM.IViewModelFactory:CreateViewModel的签名,原因是:无法使用标记01000061解析类型(来自typeref,class/assembly System.ComponentModel.IDataErrorInfo,Catel.Core,版本=5.0.0.0,区域性=中立,PublicKeyToken=null)程序集:Catel.Core,版本=5.0.0.0,区域性=中立,PublicKeyToken=null类型:System.ComponentModel.IDataErrorInfo成员:

  • v4.5.*

    • 使用
      ViewModelBase

      创建应用程序对象时出现运行时异常: System.TypeLoadException:无法解析带有标记的类型01000097(来自typeref,类/程序集System.Reflection.BindingFlags,Catel.Core,版本=4.5.4.0,区域性=中性,PublicKeyToken=null)

    • 我的
      IViewModel
      实现:

      好的,主页加载,绑定工作,构造函数通过参数获得正确的服务,但是,例如,当我调用“\u uiVisualizerService.Show(subPageViewModel);”从命令中,它抛出“InvalidCastException”。异常之前Catel日志中的最后一行:
      在构造之后将属性注入类型“SubPage”
      。但是子页面和子页面视图模型是绝对空的

      详情:

      -->System.InvalidCastException:指定的强制转换无效。
      在Catel.Services.ui可视化服务+d_u9.MoveNext()[0x00096]
      在C:\CI_WS\WS\97969\Source\Catel\src\Catel.MVVM\Catel.MVVM.Xamarin.Forms\Services\UIVisualizerService.cs:151中
      位于System.Threading.Tasks.Task.ThrowifeException(System.Boolean IncludeTaskCanceledException)[0x00011]
      年:0
      位于System.Threading.Tasks.Task'1[TResult].GetResultCore(System.Boolean waitCompletionNotification)[0x0002b]
      年:0
      在System.Threading.Tasks.Task'1[TResult].get_Result()[0x0000f]
      年:0
      在Catel.Services.UIVisualizerService.Show(Catel.MVVM.IViewModel viewModel,System.EventHandler``1[TEventArgs]completedProc)[0x00000]
      在C:\CI_WS\WS\97969\Source\Catel\src\Catel.MVVM\Catel.MVVM.Xamarin.Forms\Services\UIVisualizerService.cs:125中
      在XamarinFormsCatel.ViewModels.MainPageViewModel.OnGo()[0x00015]
      在C:\!Work\Test\XamarinFormsCatel\XamarinFormsCatel\XamarinFormsCatel\ViewModels\MainPageViewModel.cs:34
      在Xamarin.Forms.Command+c_uuudisplayClass3_0.b_u0(System.Object o)[0x00000]
      在C:\BuildAgent3\work\ca3766cfc22354a1\Xamarin.Forms.Core\Command.cs:73中
      在Xamarin.Forms.Command.Execute(System.Object参数)[0x00000]
      在C:\BuildAgent3\work\ca3766cfc22354a1\Xamarin.Forms.Core\Command.cs:107中
      在Xamarin.Forms.Button.Xamarin.Forms.IButtonController.SendClicked()[0x0000a]
      在C:\BuildAgent3\work\ca3766cfc22354a1\Xamarin.Forms.Core\Button.cs:121中
      在Xamarin.Forms.Platform.Android.AppCompat.ButtonRenderer+ButtonClickListener.OnClick(Android.Views.View v)[0x0000b]
      在C:\BuildAgent3\work\ca3766cfc22354a1\Xamarin.Forms.Platform.Android\AppCompat\ButtonRenderer.cs:298中
      在Android.Views.View+IOnClickListenerInvoker.n_OnClick_Landroid_View_View_(System.IntPtr jnienv,System.IntPtr native__this,System.IntPtr native_v)[0x0000f]
      年:0
      at(包装器动态方法)系统。对象:4c9f6786-8ab0-4bd8-bdb1-4cc7a3d7ddc7(intptr、intptr、intptr)
      ->(内部异常#0)System.InvalidCastException:指定的强制转换无效。
      在Catel.Services.ui可视化服务+d_u9.MoveNext()[0x00096]
      
      在C:\CI_WS\WS\97969\Source\Catel\src\Catel.MVVM\Catel.MVVM.Xamarin.Forms\Services\UIVisualizerService.cs:151中,团队正在改进对Xamarin.Forms的支持。目前还没有例子。我们期望在未来几个月内完成对Xamarin.Forms的v5支持。

      团队正在努力改进对Xamarin.Forms的支持。目前还没有例子。我们期望在未来几个月内完成对Xamarin.Forms的v5支持。

      什么都没有发生,现在是2020年,Xamarin仍然没有示例。Forms什么都没有发生,现在是2020年,Xamarin.Forms仍然没有示例
      public class MainActivity : Xamarin.Forms.Platform.Android.FormsAppCompatActivity
      {
          protected override void OnCreate( Bundle bundle )
          {
              TabLayoutResource = Resource.Layout.Tabbar;
              ToolbarResource = Resource.Layout.Toolbar;
      
              base.OnCreate( bundle );
      
              Xamarin.Forms.Forms.Init( this, bundle );
      
              var app = new App();
              LoadApplication( app );
          }
      }