zoukankan      html  css  js  c++  java
  • 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 SDKsWindowsv10.0AinNETFX 4.6.1 Toolsildasm.exe" C:DapperExtensions.StrongName.dll /output=C:DapperExtensions.StrongName.il

    (ildam.exe目录、dll替换成本机的)

    第二部:生成强签名dll

    接着执行,以下命令:

    "C:WindowsMicrosoft.NETFrameworkv2.0.50727ilasm.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 SDKsWindowsv10.0AinNETFX 4.6.1 Toolssn.exe" -v C:DapperExtensions.StrongName.dll
  • 相关阅读:
    2017.12.13T19_B2_6.4内部类
    2017.12.13T19_B2_6.3内部类
    python--spider模拟登录
    Redis数据库
    python--spider验证码
    python--Selenium(动态渲染页面爬取)
    python--Ajax
    python绘图实例
    python绘图
    Numpy库收尾(20190806)
  • 原文地址:https://www.cnblogs.com/wx881208/p/14280257.html
Copyright © 2011-2022 走看看