据我测试,一个强名称的程序集要想使用一个非强名称的程序集,那么必须为这个被引用的程序集生成一个snk!问题是:如果这个被引用的程序集已经生成了dll,如何处理??

解决方案 »

  1.   

    1. 创建一个新的随机密钥对。d:\temp> sn -k test.snk2. 反编译目标程序集(假设是 a.dll)。d:\temp> ildasm a.dll /out=a.il3. 重新编译,附带强命名参数。d:\temp> ilasm a.il /dll /resource=a.res /key=test.snk /optimize4. 验证签名信息。d:\temp> sn -v a.dll
      

  2.   

    再问一下,如果我的这个a.dll没重新编译一次都要这样做一次??
      

  3.   

    不用,只要一次性做好强命名就可以了,以后这个新的a.dll就是带有强命名的了
      

  4.   

    log4net是开源的,你直接可以从源代码编译。再说新版本总是不断出来,一般应该采用最新版本。