未能加载文件或程序集“NPOI”或它的某一个依赖项。找到的程序集清单定义与程序集引用不匹配。

引言

        昨天早上学完英语之后,顺理成章的打开ITOO程序,继续昨天的任务,完成今天的计划,可是,可是……出现了一个问题。心想,有问题也是好的,解决问题才是真正的成长嘛。可是这个问题让我找了好几个大神,耽误了我一天呢!


问题

未能加载文件或程序集“NPOI”或它的某一个依赖项。找到的程序集清单定义与程序集引用不匹配。_第1张图片


       看见这个问题,我就蒙了,根本不知道这个是什么。然后找了个大神来,大神说这是因为B层没有传过东西来,所以报错,然后一步步的跟踪,跟踪到一个问题是Commaon.Logging这个引用文件未能被加载.查看bin文件夹里面明明有这个引用生成的dll文件,为什么还是提示未引用呢?最后又找了一个大神,大神麻利的操作,我都没有好好看清楚,只知道是将一些引用动了,版本动了……后来大神解释说是因为刚开始做这个项目的人应该不知道文件夹中有这个引用,所以当他需要的时候,他就又去Nuget上下载了一个,但是这个的版本是低版本的,自己的文件夹中有一个高版本的,由于项目是合作开发,所以导致引用的版本不一致,而且引用之间存在依赖关系,导致出现这个问题。听了大神的解释,我觉得还是可以理解的。

 

       但是,但是,当我晚上再打开项目的时候,问题又出现了:

未能加载文件或程序集“NPOI”或它的某一个依赖项。找到的程序集清单定义与程序集引用不匹配。_第2张图片


未能加载文件或程序集“NPOI”或它的某一个依赖项。找到的程序集清单定义与程序集引用不匹配。_第3张图片


       这次换了一个引用文件,本来文件之前都改成了高版本的,不知道为什么这个报错提示表示这个文件还是低版本的,由于他们之间有依赖关系,所以会报错.我就开始了我的改错之路。


改错


         一、查看版本。

        首先,我们先去服务端引用文件中,看看这个引用文件的版本,没改之前是1.2.4.0,然后看客户端,版本是2.1.3.1。客户端和服务端版本不一致,可不得报错。我们再看一下相关的引用文件的版本号,然后选择一下要改成高版本还是低版本。

    未能加载文件或程序集“NPOI”或它的某一个依赖项。找到的程序集清单定义与程序集引用不匹配。_第4张图片


         二、修改版本。

         我们先将一个高版本的引用文件放到相应的bin文件夹下,替换之前的低版本文件。然后将程序中的引用文件移除.最后添加引用,将新的文件引用上.

未能加载文件或程序集“NPOI”或它的某一个依赖项。找到的程序集清单定义与程序集引用不匹配。_第5张图片


未能加载文件或程序集“NPOI”或它的某一个依赖项。找到的程序集清单定义与程序集引用不匹配。_第6张图片


未能加载文件或程序集“NPOI”或它的某一个依赖项。找到的程序集清单定义与程序集引用不匹配。_第7张图片


        三、修改配置文件。

        我们引用完新的文件之后,要把配置文件中关于这个文件的版本号进行修改。

未能加载文件或程序集“NPOI”或它的某一个依赖项。找到的程序集清单定义与程序集引用不匹配。_第8张图片

 

      然后运行之后就成功了。


总结

        其实有的时候不是因为大牛有多牛,而是人家认真地分析问题,分解问题.我们不能遇到问题就退缩,只要认真分析,我们一步步的调试,就能找到问题的原因,不能否认有的时候问题是很难被解决的,但是我们可以一步步的把问题分解,一步步的逼近真相,这样就是一个个的小问题了,最终一定会解决的!



你可能感兴趣的:(未能加载文件或程序集“NPOI”或它的某一个依赖项。找到的程序集清单定义与程序集引用不匹配。)