最近修改一款软件后,在我家的计算机上面运行一点问题都没有,但是拿到公司的计算机上就报强命名引用错误。最后仔细对比发现,我家的mscorwks.dll版本号为v2.0.50727.3053,而公司的版本为v2.0.50727.42。由于其中一个混合类型的dll文件的强名太特殊了,拿出takanha的工具都搞不定。估计是强名的定位问题,有时间再仔细分析takanha的文章,我也发送邮件向他咨询了。由于等着急用,便把公司的mscorwks.dll的强名检测部分去掉了,可惜当我把这个软件发送个网友运行的时候又不行了,原来他的版本号为v2.0.50727.1433。为什么有这么多的版本号?
于是便有了下表:(其中有8.0,9.0的部分是安装VS显示的版本号)
|
.NET Framework product version
|
Service pack level
|
Version
|
|
.NET Framework 1.0
|
Original release
|
1.0.3705.0 and 7.0.9466.0
|
|
.NET Framework 1.0
|
Service pack 1
|
1.0.3705.209
|
|
.NET Framework 1.0
|
Service pack 2
|
1.0.3705.288 and 7.0.9502.0
|
|
.NET Framework 1.0
|
Service pack 3
|
1.0.3705.6018 and 7.0.9951.0
|
|
.NET Framework 1.1
|
Original release
|
1.1.4322.573 and 7.10.3052.4
|
|
.NET Framework 1.1
|
Service pack 1
|
1.1.4322.2032 (if you have the MSI-based 1.1 SP1 installed) or 1.1.4322.2300 (if you have the OCM-based 1.1 SP1 installed on Windows Server 2003) and 7.10.6001.4
|
|
.NET Framework 2.0
|
Beta 1
|
2.0.40607.16 and 8.0.40607.16
|
|
.NET Framework 2.0
|
Beta 2
|
2.0.50215.44 and 8.0.50215.44
|
|
.NET Framework 2.0
|
Original release
|
2.0.50727.42 and 8.0.50727.42
|
|
.NET Framework 2.0
|
Service pack 1
|
2.0.50727.1433 and 8.0.50727.1433
|
|
.NET Framework 2.0
|
Service pack 2
|
2.0.50727.3053 and 8.0.50727.3053
|
.NET FrameWork2.0
|
The final version of windows vista
|
2.0.50727.312
|
|
.NET Framework 3.0
|
Original release
|
3.0.04506.26 (on Windows Vista) and 3.0.04506.30 (on downlevel operating systems)
|
|
.NET Framework 3.0
|
Service pack 1
|
3.0.04506.648
|
|
.NET Framework 3.0
|
Service pac
|
0.04506.2152
|
|
.NET Framework 3.5
|
Original release
|
3.5.21022.8 and 9.0.21022.8
|
|
.NET Framework 3.5
|
Service pack 1
|
3.5.30729.1 and 9.0.30729.1
|
虽然给DONET打补丁不是什么好办法,但是的确可以解燃眉之急啊。
PS:Version history of the CLR 2.0
http://blogs.msdn.com/dougste/archive/2007/09/06/version-history-of-the-clr-2-0.aspx