[转]System.Reflection.AssemblySignatureKeyAttribute

时间:2023-11-14 15:15:08

转自:http://www.cnblogs.com/ego/p/3321122.html

错误:

Could not load type 'System.Reflection.AssemblySignatureKeyAttribute' from assembly 'mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c

调试或者在安装了VS2012的电脑上运行没事,但在干净的环境下,就报这个错误。

解决:

查了一下AssemblySignatureKeyAttribute,是.net framework4.5才有。

仔细检查了一次每个assembly的目标框架,全部是.net framework 4.0

百思不得其解,折腾了一晚上......

最后不得已用排除法,把部署目录中的文件一个一个移除/添加。

最后发现是*.vshost.exe引起的,删除后就没事了。

在部署一个windows service,一开始提示

在初始化安装时发生异常:
System.BadImageFormatException: 未能加载文件或程序集“file:///D:\xxxx.exe”或它的某一个依赖项。生成此程序集
的运行时比当前加载的运行时新,无法加载此程序集。

按照上面的做法,将.vshost.exe和pdb文件移除,

又报新的错误

未经处理的异常: System.TypeLoadException: 未能从程序集“mscorlib, Version=4.0.0
.0, Culture=neutral, PublicKeyToken=b77a5c561934e089”中加载类型“System.Reflect
ion.AssemblySignatureKeyAttribute”。

部署环境中装了VS2012,用它的 命令工具安装,OK了.