It's not viable to get libgdiplus to the point where its feature set and quality is on par with the rest of the. In comparison, other external dependencies we have taken, such as icu or openssl, are high-quality libraries. Since the inclusion of the Mono cross-platform implementation, we have redirected numerous issues to libgdiplus that never got fixed. Those dependencies make maintaining and shipping the component even more challenging. libgdiplus also has numerous external dependencies for image processing and text rendering, such as cairo, pango, and other native libraries. It's around 30,000 lines of C code that's largely untested, and it lacks a lot of functionality. That implementation makes libgdiplus a non-trivial component. libgdiplus is effectively a reimplementation of the parts of Windows that depends on. Libgdiplus is the main provider of the cross-platform implementation of on the native side. Reason for changeīecause was designed to be a thin wrapper over Windows technologies, its cross-platform implementation is subpar. This change can affect source compatibility and binary compatibility. _/src/libraries//src/System/Drawing/Gdiplus.cs(27,0): at .cctor() _/src/libraries//src/System/Drawing/(65,0): at .PlatformInitialize() _/src/libraries//src/System/Drawing/LibraryResolver.cs(31,0): at () _/src/libraries/System.Linq/src/System/Linq/Select.cs(136,0): at `2.MoveNext() _/src/libraries//tests/ResourceManagerTests.cs(270,0): at .EnglishImageResourceData()+MoveNext() _/src/libraries//src/System/Drawing/Bitmap.cs(25,0): at (String filename) _/src/libraries//src/System/Drawing/Bitmap.cs(42,0): at (String filename, Boolean useIcm) See for more information.Īt .GdipCreateBitmapFromFile(String filename, IntPtr& bitmap) System.PlatformNotSupportedException : is not supported on non-Windows platforms. In addition, the following run-time exception is thrown unless you set a configuration option: System.TypeInitializationException : The type initializer for 'Gdip' threw an exception. NET 6, the platform analyzer emits compile-time warnings when referencing code is compiled for non-Windows operating systems. NET 6, using the package did not produce any compile-time warnings, and no run-time exceptions were thrown. On non-Windows operating systems, unless you set a runtime configuration switch, a TypeInitializationException exception is thrown with PlatformNotSupportedException as the inner exception. The platform analyzer emits warning at compile time when compiling for non-Windows operating systems. The NuGet package is now attributed as a Windows-specific library.
0 Comments
Leave a Reply. |
AuthorWrite something about yourself. No need to be fancy, just an overview. ArchivesCategories |