如果你寫的程序程序集是帶簽名的,應用了沒有簽名的程序集,編譯就會報下面的錯誤
引用的程序集“**”沒有強名稱
進入sdk提示符界面,依次輸入如下指令
sn -k ThoughtWorks.QRCode.snk ildasm ThoughtWorks.QRCode.dll /out=ThoughtWorks.QRCode.il ilasm ThoughtWorks.QRCode.il /dll /resource=ThoughtWorks.QRCode.res /key=ThoughtWorks.QRCode.snk /optimize sn -v ThoughtWorks.QRCode.dll
安裝程序集
Install-Package ThoughtWorks.QRCode -Version 1.1.0
/// <summary> /// 二維碼生成與解析幫助類 /// </summary> public class QRCodeHelper { /// <summary> /// 根據字符串生成二維碼 /// </summary> /// <param name="val"></param> public static void GenQRCode(string val,Stream stream) { QRCodeEncoder qrCodeEncoder = new QRCodeEncoder(); qrCodeEncoder.QRCodeEncodeMode = QRCodeEncoder.ENCODE_MODE.BYTE; qrCodeEncoder.QRCodeScale = 4; qrCodeEncoder.QRCodeVersion = 8; qrCodeEncoder.QRCodeErrorCorrect = QRCodeEncoder.ERROR_CORRECTION.M; using (System.Drawing.Image image = qrCodeEncoder.Encode(val)) { image.Save(stream, System.Drawing.Imaging.ImageFormat.Jpeg); stream.Close(); image.Dispose(); } } /// <summary> /// 根據圖片文件路徑解析二維碼 /// </summary> /// <param name="filePath"></param> /// <returns></returns> public static string CodeDecoder(string filePath) { string decodedString = string.Empty; if (System.IO.File.Exists(filePath)) { using (Bitmap myBitmap = new Bitmap(Image.FromFile(filePath))) { QRCodeDecoder decoder = new QRCodeDecoder(); decodedString = decoder.decode(new QRCodeBitmapImage(myBitmap)); } } return decodedString; } }