程序集生成失敗 -- 引用的程序集“ThoughtWorks.QRCode”沒有強名稱,為沒有源碼的程序集強簽名


如果你寫的程序程序集是帶簽名的,應用了沒有簽名的程序集,編譯就會報下面的錯誤

 引用的程序集“**”沒有強名稱

 

進入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;
        }
    }

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM