最近在一个项目中用到了log4net,我需要使用的版本是1.2.10.0,但是在编译网站之后会自动生成一个1.2.9.0的log4net.dll
,这时候运行程序就会抛出如下异常:未能加载文件或程序集“log4net, Version=1.2.10.0, Culture=neutral, PublicKeyToken=1b44e1d426115821”或它的某一个依赖项。找到的程序集清单定义与程序集引用不匹配。 (异常来自 HRESULT:0x80131040)把这个dll删掉,重新引用1.2.10.0的版本后可以正常运行,但是只要一编译,就又会变成1.2.9.0的版本,这是什么情况

解决方案 »

  1.   

    直接引用1.2.10.0dll,不要引用log4net的项目,或者你下载一个最新版的log4net的项目,然后对项目进行引用
      

  2.   

    我这个项目中引用了自己公司的一个a.dll,我新建了一个控制台程序试了一下,只要引用了这个a.dll,
    编译之后就会生成一些其他的dll(包括log4net.dll),但是在这个控制台程序中生成的log4net.dll
    的版本是正确的,也就是1.2.10.0,编译web site后生成的dll确是1.2.9.0,这是为何。另外,我在web site中添加a.dll引用的时候就会自动生成log4net.dll,而不是编译之后才会生成。这
    时候自动生成的log4net.dll确是正确的版本。
      

  3.   

    a.dll应该也引用了log4net.dll
    web site应该也引用了log4net.dll
    两个版本不一样