Sqlite-net: System.MissingMethodException: 'Method not found:

Created on 21 Feb 2020  路  5Comments  路  Source: praeclarum/sqlite-net

Running sqlite-net (v1.6.292) in latest xamarin forms (v4.5.0.282) application along side Microsoft.AppCenter.Analytics and Crashes (v2.6.4) with no issues. I upgraded Microsoft.AppCenter.* from 2.6.4 to 3.0.0 today and now sqlite-net crashes on first execution of CreateTable such as database.CreateTable

(); with the below error message.

System.MissingMethodException: 'Method not found: 'System.String SQLitePCL.raw.sqlite3_column_name(SQLitePCL.sqlite3_stmt, Int32)'.'

Has anyone else seen this error or might know what the fix for this issue might be? I am suspecting Microsoft.Appceneter.* is updating something with sqlite that sqlite-net is not compatible with?
I have rolled back my upageded until I can determine the cause.

Orgbrat

Most helpful comment

So AppCenter support specifically Guillaume Perrot has responded to me with [System.MissingMethodException: 'Method not found'] (https://github.com/microsoft/appcenter-sdk-dotnet/issues/1340) which basically states that the only solution today seems to, unfortunately, use the beta of sqlite-net-pcl. This beta version depends on SQLitePCLRaw.bundle_green v2, the same version as AppCenter now depends on.

What are the consequences of updating to v1.7.302-beta. Is this beta version compatible with databases created with v1.6.292? What breaking changes should I be aware of?

All 5 comments

Full exception message:

System.MissingMethodException: 'Method not found: 'System.String SQLitePCL.raw.sqlite3_column_name(SQLitePCL.sqlite3_stmt, Int32)'.'

AppCenter 3.0 has apparently upgraded to SQLitePCLRaw 2.x, and I'm starting to see people report problems with the transition.

I'm not fully caught up on this yet, but the basic idea is that you can't mix SQLitePCLRaw 2.x and 1.x. So if you've got a package that is bringing in 1.x (like sqlite-net), you need to update it to a version that depends on 2.x.

So AppCenter support specifically Guillaume Perrot has responded to me with [System.MissingMethodException: 'Method not found'] (https://github.com/microsoft/appcenter-sdk-dotnet/issues/1340) which basically states that the only solution today seems to, unfortunately, use the beta of sqlite-net-pcl. This beta version depends on SQLitePCLRaw.bundle_green v2, the same version as AppCenter now depends on.

What are the consequences of updating to v1.7.302-beta. Is this beta version compatible with databases created with v1.6.292? What breaking changes should I be aware of?

Hello, I am exactly on the same stage. The problem is that if I update to the beta version it works for me in UWP but not in android, if I leave it in v1.6.292 it works for me in Android but not in UWP. any suggestion?

For an Android fix, see #882 and PR #927. I got it working with both Android and UWP using the workaround.

Was this page helpful?
0 / 5 - 0 ratings

Related issues

georgepiva picture georgepiva  路  5Comments

plamen-i picture plamen-i  路  6Comments

rynjas picture rynjas  路  3Comments

acaliaro picture acaliaro  路  6Comments

ToddThomson picture ToddThomson  路  3Comments