SQLitePCL.raw icon indicating copy to clipboard operation
SQLitePCL.raw copied to clipboard

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

Open marwalsch opened this issue 8 months ago • 7 comments

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?

  • SQLitePCLRaw.bundle_green 2.1.7

What platform are you running on?

  • iPhone 12,14,15 running iOS 16/17
  • Google Pixel 5 (simulated) on API 34/Android 14

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?

  • Visual Studio 17.8.3

What other packages are you including in your project?

  • The class library uses sqlite-net-pcl 1.8.166

marwalsch avatar Dec 11 '23 13:12 marwalsch

See issue #543

ericsink avatar Dec 11 '23 16:12 ericsink

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?

marwalsch avatar Dec 12 '23 08:12 marwalsch

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

ericsink avatar Dec 12 '23 15:12 ericsink

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).

marwalsch avatar Dec 14 '23 08:12 marwalsch

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.

ericsink avatar Dec 14 '23 22:12 ericsink

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.

marwalsch avatar Dec 18 '23 09:12 marwalsch

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

ericsink avatar Dec 18 '23 15:12 ericsink