最近在开发.net mvc程序时,突然出现未能加载文件或程序集的错误,

错误1

 

错误2

 

  猜测时由于引用了swagger,导致swagger依赖的组件版本和现有版本冲突(现在仍未确定是这个原因),浪费了好长时间去寻找原因。最终查找资料的时候看到有人提及到web.config,于时试着将现有5.2.3.0版本的依赖加入到web.config文件,最终解决第一个问题。

  看到web.config的bindingredirect节点之后(之前除了配置数据库连接和自定义参数,没有深入了解web.config,这也是这么长时间都没有解决问题的原因),第二个问题也就随着解决了。在配置文件中,bindingredirect表示重定向绑定,意思就是如果有0.0.0.0到5.2.3.0之间的引用,最后都重定向到5.2.3.0也就是newversion中指定的版本。这是官方对bindingredirect节点的解释。

  总结,不知道是我个人的问题还是什么,开发程序时正常还好,稍微出点问题就需要找很长时间的问题,最终还大部分都不是代码上的原因。归根结底还是太懒,只了解经常用到的东西。觉得无关的就没有仔细看。这是病!得改!谨以此文,记录这次教训。