无语了,这笃NET。
页面运行过程中,出现了一个错误:
未能加载文件或程序集“System.Net.Http, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a”或它的某一个依赖项。系统找不到指定的文件。
类似这样:
这是一个几年前的项目。当时还是.NET 4.6.2;今年重新拿起来开发,开发环境的操作系统从WIN7变成了WIN10,.NET也升级到了…NET 4.8。估计是跟这个有关系。
卸载项目,编辑项目文件,将里面指定的System.Net.Http版本号去掉:
==>
但是仍然报错,只不过版本号变成了4.2.0.0:
未能加载文件或程序集“System.Net.Http, Version=4.2.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a”或它的某一个依赖项。系统找不到指定的文件。
考究引用的dll路径,是C:\Program Files (x86)\Reference Assemblies\Microsoft\Framework.NETFramework\v4.8\System.Net.dll,估计.NET4.8下这个System.Net.Http,版本是4.2.0.0。那么为啥还会报错,搞不懂。
在网上寻寻觅觅,有人说要将web.config里的版本号改回4.0.0.0。我试着将newVersion改成4.0.0.0,果然可以了。但我又改回4.2.0.0,仍然没有问题,再也无法重现当时的错误。
这就令人尴尬了。不知道它为什么报错,然后也不知道它为什么又不报错了。微软搞的东西,向来标榜傻瓜式操作,但这一招也错误地用在程序员身上。傻瓜式的操作,掩盖了太多的细节和原理,反而不利于程序员进阶。另外,曾经号称宇宙级IDE的visual studio,2022这个版本,连在文件中查找这个最基本的功能都不能保证了,查一个东西,有些能查出来,有些却不行,简直无法使用。自从印度人接管以后,这个曾经的巨头居然沦落如斯。
参考文章:
未能加载文件或程序集“System.Net.Http
事实证明,还是要改成4.0.0.0。