ericsink / SQLitePCL.raw

A Portable Class Library (PCL) for low-level (raw) access to SQLite
Apache License 2.0
512 stars 106 forks source link

`alpine-x64` RID warning in .NET 8 when targeting Andorid or iOS #575

Open marwalsch opened 6 months ago

marwalsch commented 6 months ago

I have Xamarin.Android/Xamarin.iOS projects each referencing SQLitePCLRaw.bundle_green and a .NET 8 class library using sqlite-net-pcl.

After migrating from .NET 6 to .NET 8, the following warning showed up when targeting iOS or Android:

Found version-specific or distribution-specific runtime identifier(s): alpine-x64. Affected libraries: SQLitePCLRaw.lib.e_sqlite3. In .NET 8.0 and higher, assets for version-specific and distribution-specific runtime identifiers will not be found by default. See https://aka.ms/dotnet/rid-usage for details.

The issue has no impact on functionality whatsoever.

A windows project targeting the same class library produces no such warning.

Possibly related: https://github.com/ericsink/SQLitePCL.raw/issues/543

What version of SQLitePCLRaw are you using?

What platform are you running on?

What target framework are you building for?

 Installed Workload    Manifest Version       Installation Source
---------------------------------------------------------------------
maui-windows            8.0.3/8.0.100             VS 17.8.34330.188
maccatalyst                17.0.8478/8.0.100      VS 17.8.34330.188
ios                              17.0.8478/8.0.100      VS 17.8.34330.188
android                      34.0.43/8.0.100          VS 17.8.34330.188

Are you using the command line, or an IDE? Which IDE? Which version of that IDE?

What other packages are you including in your project?

ericsink commented 6 months ago

See issue #543

marwalsch commented 6 months ago

Both the linked and the therein mentioned SDK issue on verbose warnings are marked as closed already. The fact that alpine-x64 is the only platform mentioned in the warning made me assume there's still something wrong. Am I missing something here?

ericsink commented 6 months ago

I think the idea is that the alpine-whatever RIDs were deprecated and we're supposed to switch to linux-musl-whatever.

marwalsch commented 6 months ago

I understand, but since the alpine-x64 RID specifically is mentioned in the warning I wonder whether the RID change fix is perhaps not yet or only partially implemented in the current stable release of the mentioned nuget pakcage(s).

ericsink commented 6 months ago

Okay, I think I know what you mean, but...

I just checked sqlitepclraw.lib.e_sqlite3 version 2.1.7 to be sure, as shown in the error message you posted, and it doesn't have alpine-x64 in it.

So I'm still not sure what's going on.

marwalsch commented 6 months ago

sqlite-net-pcl targets SQLitePCLRaw.bundle_green 2.0.4. So I reckon if the dependency is updated to 2.1.7 the warning should vanish?

Just found there is a related issue already.

ericsink commented 6 months ago

But you said at the top you we were already using 2.1.7. That should override whatever sqlite-net-pcl is referencing.