`alpine-x64` RID warning in .NET 8 when targeting Andorid or iOS
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
See issue #543
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?
I think the idea is that the alpine-whatever RIDs were deprecated and we're supposed to switch to linux-musl-whatever.
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).
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.
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.
But you said at the top you we were already using 2.1.7. That should override whatever sqlite-net-pcl is referencing.