錯誤:對程式集「***.dll」簽名時加密失敗 --「讀取金鑰檔案「***x.snk」時出錯 -- 系統找不到指定的檔案。 」
原因是沒有金鑰檔案,可以使用這樣的方法建立乙個金鑰檔案: 1,找到簽名工具sn.exe,預設的路徑是:系統盤:/program files/microsoft visual studio .net 2003/sdk/v1.1/bin;(如果沒有的話通過搜尋sn.exe來查詢) 在命令列下輸入sn -k ***x.snk,將生成的***x.snk copy 到專案目錄即可
2. 或者最直接的方法就是,不要簽名了,找到***專案的assemblyinfo.cs檔案,注釋掉下面一行: [assembly: assemblykeyfileattribute("..***.snk")] 編譯就可以通過了。
強名稱為程式集簽名 建立金鑰對 建立金鑰對 要使用強名稱為程式集簽名,必須具有公鑰/私鑰對。sn -k sgkey.snk 如果您需要延遲對程式集簽名並控制整個金鑰對(金鑰對不太可能在測試方案之外),可使用以下命令生成金鑰對,然後從中將公鑰提取到乙個單獨的檔案中。首先,建立金鑰對: sn -k keypair.snk 下一步,從金鑰對中提取公鑰,並將其複製到乙個單獨的檔案中: sn -p keypair.snk public.snk 建立金鑰對之後,必須將檔案放在強名稱簽名工具可以找到的位置. 下面簡單的解釋以下strong name: 加密簽名是計算機安全方面的名詞,加密分為對稱和非對稱加密,這裡用的是後者,strong name是進行程式集版本控制和名稱保護的,對乙個程式集進行簽名後就會得到乙個strong name。strong name由以下幾部分組成程式集的標識(即它的簡單文字名稱),版本號和區域性資訊(如果提供的話),以及公鑰和數字簽名。strong name可以確保乙個程式集名稱的唯一性。強名稱是使用相應的私鑰,通過程式集檔案(包含程式集清單的檔案,並因而也包含構成該程式集的所有檔案的名稱和雜湊)生成的。需要強調的是,是對程式集的加密和簽名(包括名稱,版本等資訊)得到強名稱,強名稱是唯一的,所以程式集也是唯一的,程式集加密簽名成strong name需要使用私鑰,這個私鑰由keyname和keyfile組成,其中keyname 是指已經安裝在計算機上的加密服務提供程式(csp)中的金鑰。keyfile 是指包含金鑰的檔案(其實就是.snk檔案)。keyfile通過sn.exe生成。
強名介紹2
強名用來證明這個生成的程式集是你發布的 而且,如果你寫的程式集要用在多個應用程式上的話,那麼這個程式集必須要擁有唯一的名稱,這個強名稱是程式集唯一名稱的一部分。另外,只要你保護好你的snk檔案不要公布出去,那麼沒有任何人可以假冒你發布程式集。強名稱簽名的原理是不對稱簽名驗證演算法。首先你用sn.ex...
pm命令介紹與包名資訊查詢
pm工具為包管理 package manager 的簡稱 可以使用pm工具來執行應用的安裝和查詢應用寶的資訊 系統許可權 控制應用 pm工具是android開發與測試過程中必不可少的工具,shell命令格式如下 pm shell模式下 pm list packages options filter ...
NSIS 繫結檔案字尾名完整介紹
nsis是常用的製作軟體安裝程式的工具,因其功能強大而很受歡迎。但很多軟體都有自己的檔案,這些檔案往往有獨特的字尾名,而且往往需要支援雙擊檔案即可開啟。這時就需要對檔案字尾名進行關聯。dos下關聯檔案字尾名常用的指令是assoc和ftype。我們可以看到這兩個指令的幫助內容 顯示或修改副檔名關聯 a...