3 ms·
> it wasn't clear to me how to find out which packages from the package manager NuGet work on which platforms. As a default rule, any package you see that targ
by Hawxy 2y ago
> it wasn't clear to me how to find out which packages from the package manager NuGet work on which platforms.
As a default rule, any package you see that targets ".NET Standard 2.0" or ".NET 6+" is using the modern SDK and very likely works across all platforms. This will cover the vast majority of open source packages created/updated in the last 5 years. If a package only specifies '.NET Framework' then it'll be windows-only. Modern packages that are tied to a single platform will likely be named as such and will specify a target that locks it to that platform, ie `net8.0-ios16.0` for iOS.
- jonathanstrange 2y agoThanks, that's a super-helpful reply. Do packages with external C / C++ dependencies include binary blobs for platforms or compile them on the fly, or do they need to be configured for each platform? I mostly worried about standard stuff like Sqlite3.
- Hawxy 2y ago> Do packages with external C / C++ dependencies include binary blobs for platforms or compile them on the fly, or do they need to be configured for each platform? They usually bundle them in. For example the SQLite packages are bundled with ~23 different native binaries for all of the platforms it supports, and they'll be output to the right place as part of the build process. There's nothing you need to configure. For licensing or packaging reasons this might not apply to everything (ie ffmpeg).