我想知道AssemblyName.Version
是否遇到错误,例如尝试从清单文件中检索时。
我可以手动修改 VS之外某处的程序集版本(例如文本编辑器)以获取文件并输入无效的版本格式,以便在尝试检索时并将其与另一个版本进行比较,我会得到一些异常。
如果可以进行此类修改,此AssemblyName.GetAssemblyName("path")
会成功吗?
答案 0 :(得分:0)
MajorVersion
,MinorVersion
,BuildNumber
和RevisionNumber
存储在程序集中,每个包含2个字节。有人确定可以更改这些值,但没有可能的“无效”值,因为每个2字节值被解释为0到UInt16.MaxValue - 1
范围内的无符号整数
因此,在(无符号)程序集中更改这些值只会更改程序集的表观版本。
属性AssemblyName.Version
只返回加载程序集时填充的字段的值,并且不能抛出异常。
这并不是说你不能以其他方式腐蚀你的集会......