Silverlight - 获取Assembly版本信息

来源:互联网 发布:贵州云谷数据有限公司 编辑:程序博客网 时间:2024/05/19 02:05

CLR 中获取Assembly的版本信息可以用一行代码实现:

Assembly.GetExecutingAssembly().GetName().Version

同样的代码在Silverlight 的CoreCLR中执行会返回一个异常
MethodAccessException

可通过如下代码(vb.net)实现:

Public Shared Function GetAppVersion() As String
Dim asm As Assembly = Assembly.GetExecutingAssembly()
Dim asmName As AssemblyName = New AssemblyName(asm.FullName)
Return asmName.Version.ToString()
End Function

Silverlight使用的CoreCLR的安全模型与CLR不同,msdn blog上有一篇博文给出了说明,上面异常的原因是GetName方法为critical code, 被程序代码(transparent code
)调用。