Welcome to OGeek Q&A Community for programmer and developer-Open, Learning and Share
Welcome To Ask or Share your Answers For Others

Categories

0 votes
456 views
in Technique[技术] by (71.8m points)

c# - System.TypeLoadException: Could not resolve type with token 01000019

I have a Xamarin.Forms solution which contains in each project (Android, iOS and Windows 8.1) a lib called Plugin.SecureStorage from here: https://github.com/sameerkapps/SecureStorage I installed it via NuGET in each project.

Everything works fine in iOS and Windows 8.1, the problem is in Android. The project in Android builds correctly, however at startup I get this:

[...]
Loaded assembly: MonoDroidConstructors [External]
09-27 18:14:49.880 D/Mono    (30329): Assembly Ref addref AppConsume.Droid[0xb8cb0608] -> mscorlib[0xb8c64bc0]: 23
09-27 18:14:49.890 D/Mono    (30329): Assembly Ref addref Xamarin.Forms.Core[0xb8cbca58] -> System.Collections[0xb8cc5980]: 3
09-27 18:14:49.900 D/Mono    (30329): Assembly Ref addref Xamarin.Forms.Core[0xb8cbca58] -> System.Threading[0xb8cd4948]: 3
09-27 18:14:49.930 D/Mono    (30329): Assembly Ref addref AppConsume.Droid[0xb8cb0608] -> Plugin.SecureStorage[0xb8cb43f8]: 2
Unhandled Exception:

System.TypeLoadException: Could not resolve type with token 01000019

What it does mean? is a bit cryptic to me. How can I resolve this problem?

Of course, as a requirement, I added this line...

SecureStorageImplementation.StoragePassword = "mypass";

in the MainActivity.cs of the Android project...

using System;

using Android.App;
using Android.Content.PM;
using Android.Runtime;
using Android.Views;
using Android.Widget;
using Android.OS;
using Plugin.SecureStorage;

namespace MyApp.Droid
{
    [Activity(Label = "MyApp", Icon = "@drawable/icon", MainLauncher = true, ConfigurationChanges = ConfigChanges.ScreenSize | ConfigChanges.Orientation)]
    public class MainActivity : global::Xamarin.Forms.Platform.Android.FormsApplicationActivity
    {
        protected override void OnCreate(Bundle bundle)
        {
            base.OnCreate(bundle);
            SecureStorageImplementation.StoragePassword = "mypass";
            global::Xamarin.Forms.Forms.Init(this, bundle);
            LoadApplication(new App());
        }
    }
}

I also found that changing the line position throws different 'token types' in the exception.

UPDATE: I just found the app runs sucessfully when compiling in Release Mode. However, not working in Debug mode is a problem that I would like to fix I don't think that is out of scope of this question.

See Question&Answers more detail:os

与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…
Welcome To Ask or Share your Answers For Others

1 Reply

0 votes
by (71.8m points)

Same error for me.

Problem:

I had different versions of the Xamarin.Forms package in my solution.

Solution:

Change in your Core, Droid and IOS project the Xamarin.Forms versions. Make sure that all versions are the same.

I hope this works.


与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…
OGeek|极客中国-欢迎来到极客的世界,一个免费开放的程序员编程交流平台!开放,进步,分享!让技术改变生活,让极客改变未来! Welcome to OGeek Q&A Community for programmer and developer-Open, Learning and Share
Click Here to Ask a Question

...