Closed WhiteFossa closed 5 months ago
I have the same issue with windows and .NET 6 in 1.4.3. Downgrading to 1.4.2 solves the issue.
I have the same issue on .NET 6 on version 1.4.3
Only upgraded to QRCoder 1.4.3 via a Snyk PR - apparently v1.4.2 has RCE exploit possible: https://security.snyk.io/vuln/SNYK-DOTNET-SYSTEMDRAWINGCOMMON-3063427
p.s. There is an issue that talks about this, read here: https://github.com/codebude/QRCoder/issues/361#issuecomment-992152570
@user-named-void So am I. According to what you said, demoting to 1.4.2 is indeed possible
Microsoft removed System.Drawing support in .NET 6 for non-Windows platforms. Since the QRCode renderer uses System.Drawing, it's correct that it isn't supported on Linux. But that must not be a problem as there are other rendering classes that are supported on non-Windows platforms. Check the compatibility matrix to find a renderer that fits your platform/environment: https://github.com/codebude/QRCoder/wiki/Advanced-usage---QR-Code-renderers#2-overview-of-the-different-renderers
Long-term we plan to move away from System.Drawing and replace it by another graphics library.
Type of issue
Bug, showstopper-class
Expected Behavior
Code (see below) compiles
Current Behavior
You'll get an error about "class QRCode is not defined".
Possible Solution (optional)
Probably to change something near the `#if NET6_0_WINDOWS [System.Runtime.Versioning.SupportedOSPlatform("windows")]
endif`
Steps to Reproduce (for bugs)
Just use a simplest code from example:
QRCodeGenerator qrGenerator = new QRCodeGenerator(); QRCodeData qrCodeData = qrGenerator.CreateQrCode("The text which should be encoded.", QRCodeGenerator.ECCLevel.Q); QRCode qrCode = new QRCode(qrCodeData); Bitmap qrCodeImage = qrCode.GetGraphic(20);
and try to compile in under Linux and .NET 6.0
Your Environment