我已经为这件事挣扎了4个小时了,现在我在转圈。我想让阿卡瓦奇参加我的项目。该项目是一个开箱即用的Xamarin表格(便携式)类型.然后使用Nuget,我添加了Akavach4.1.2(它还添加了Akavache和SqlLite3以及ReactiveUI和Splat)。然后我更新了Splat,因为nuget包中的依赖项是错误的(为1.3.3,但应该是1.6.0)。但是,在添加第一行必须针对此应用程序(BlobCache.ApplicationName =“MyApp”)时,启动此应用程序(目前针对的是MyApp)仍有错误:
System.TypeInitializationException: The type initializer for 'Akavache.BlobCache' threw an exception. ---> System.Exception: Failed to initialize Akavache properly. Do you have a reference to Akavache.dll?
at Akavache.Sqlite3.Registrations.Register (IMutableDependencyResolver resolver) [0x0001f] in <filename unknown>:0
at Akavache.DependencyResolverMixin.InitializeAkavache (IMutableDependencyResolver This) [0x000c0] in <filename unknown>:0
at Akavache.BlobCache.<.cctor>b__0 () [0x0000d] in <filename unknown>:0
at Splat.Locator.RegisterResolverCallbackChanged (System.Action callback) [0x00039] in <filename unknown>:0
at Akavache.BlobCache..cctor () [0x00018] in <filename unknown>:0 用Xamarin 4.1.0运行PS VS 2015社区
发布于 2016-06-17 06:36:16
虽然Akavache的文档中没有明确提到,但通常需要在您的PCL上以及平台特定的项目上安装NuGet包。
这主要是因为需要特定于平台的实现。因此,尽管您正在安装相同的DLL,但添加了另一个实际DLL --特别是针对该平台的DLL。
在某些情况下,需要在特定于平台的项目中进行某种初始化调用,尽管这里似乎并非如此。
https://stackoverflow.com/questions/37865733
复制相似问题