C#第三方dll 强签名(已有签名)笔记 |
您所在的位置:网站首页 › 第一个签名 › C#第三方dll 强签名(已有签名)笔记 |
在做项目的时候,自己的项目是已经有签名的,直接引用的的话会报错误,如下错误: “System.IO.FileLoadException: 未能加载文件或程序集“AdvancedHMIDrivers, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null”或它的某一个依赖项。需要强名称程序集。 (异常来自 HRESULT:0x80131044)文件名:“AdvancedHMIDrivers, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null” 网上了解后需要给第三方dll强名,强名的方法大同小异,但是我在根据网上方法做的时候,一直报错,研究了许久,才知道是细节问题,命令行的空格要注意,空格、空格、空格~ 所有写下这个笔记。 因为我的项目已经有签名建KEY,所以不需要生成强签名建。(需要生成签名KEY网上查找下哈) 第一步:反编译dll 把需要强签名的DLL放在一个文件夹下,签名建KEY文件也放在同一个文件下,打开命令行窗口(管理员),cd到此文件夹目录,执行以下命令: "C:\Program Files (x86)\Microsoft SDKs\Windows\v10.0A\bin\NETFX 4.6.1 Tools\ildasm.exe" C:\DapperExtensions.StrongName.dll /output=C:\DapperExtensions.StrongName.il(ildam.exe目录、dll替换成本机的) 第二部:生成强签名dll 接着执行,以下命令: "C:\Windows\Microsoft.NET\Framework\v2.0.50727\ilasm.exe" C:\DapperExtensions.StrongName.il /dll /out=C:\DapperExtensions.StrongName.dll /key=C:\ClsCustomerKEY.snk /resource=C:\DapperExtensions.StrongName.res就生成了。注意 / 前面都有空格。 重新引用到项目就行了。 第三部:验证dll 还可以验证以下生成的dll "C:\Program Files (x86)\Microsoft SDKs\Windows\v10.0A\bin\NETFX 4.6.1 Tools\sn.exe" -v C:\DapperExtensions.StrongName.dll
|
今日新闻 |
推荐新闻 |
CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3 |