生成此程序集的运行时比当前加载的运行时新,无法加载此程序集。
一、运行demo时 出现这个问题,是因为生产的程序与引用的DLL版本号不一样,比如应用需要的版本是.NET Framework2,但是本地提供的是.NET Framework 4。
可以使用ILSpy工具查看dll版本。
二、解决的方法很简单,使用VS自带的反编译工具,
ildasm.exe 反编译报错的DLL文件,查看版本号。然后再右键Demo项目属性将目标框架改成一样,重新编译即可。ildasm.exe 文件路径
1.
2.查看C#的DLL所依赖.NET版本
双击ildasm.exe, 把你要识别的.dll文件拖进来, 就会反编译了. 接着在ildasm里, 双击第一行的MANIFEST, 前面五行会类似如下显示, 注意一定要是mscorlib
.assembly extern mscorlib
{
.publickeytoken = (B7 7A 5C 56 19 34 E0 89 ) // .z/V.4..
.ver 1:0:5000:0
}当你看到.ver 1:0:5000:0, 证明它是在.net1.1的版本下编译的; 如果看到的是.ver 2:0:0:0, 证明它是.net2.0版本下编译的
3.修改 .NET版本
PS补充:
查看当前项目版本方法:
根目录下.csproj记事本打开