-
-
Notifications
You must be signed in to change notification settings - Fork 1.1k
QRCode class is missing under Linux since 1.4.3 #443
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Comments
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: #361 (comment) |
@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
The text was updated successfully, but these errors were encountered: