skip to Main Content

‘QRCode’ does not contain a definition for ‘GetGraphic’ and no
accessible extension method ‘GetGraphic’ accepting a first argument of
type ‘QRCode’ could be found (are you missing a using directive or an
assembly reference?)

I am tying to Generate QR Code in .Net 6 I am found an error, Tell me Where is my code wrong?

QRCodeGenerator qrCodeGenerator = new();
string data = "Name : " + employeeSalaryGetDetails.Name + "n DOB : " + employeeSalaryGetDetails.DayofBirth.ToString() + "n Email Address : " + employeeSalaryGetDetails.EmailId.ToString();
QRCodeData qrCodeData = qrCodeGenerator.CreateQrCode(data, QRCodeGenerator.ECCLevel.Q);
QRCode qrCoder = new();
qrCoder.Equals(qrCodeData);
Image rqCodeImage = qrCoder.GetGraphic(20);

var bytes = ImageToByteArray(rqCodeImage);
return File(bytes, "image/tmp");

2

Answers


  1. It seems the package is incomplete for .NET6.0 and up, in a new project when I implement QRCoder straight from nuget and Include the using QRCoder. Type QRCode doesn’t exist. The github has some open issues involving this issue. Downgrading to nuget version 1.4.2 might fix your problem.

    I have tried it and it works. It would look like this:

    using QRCoder;
    using System.Drawing;
    
    namespace ClassLibrary1;
    public class Class1
    {
        public void CreateQR()
        {
            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);
        }
    }
    

    Note: This is just an example

    Login or Signup to reply.
  2. Try rolling back to version 1.4.1 — the error should go away.

    Login or Signup to reply.
Please signup or login to give your own answer.
Back To Top
Search