AssemblyName.Version在哪些情况下会为空?
AssemblyName.Version 为空的常见场景
- 动态生成的程序集:比如用
AssemblyBuilder创建的临时运行时程序集,这类程序集默认不会设置版本信息,读取Version时就会返回null。 - 编译时未指定版本的程序集:如果项目编译时没配置版本号(比如没在项目文件里加
<Version>节点,也没通过编译参数指定),程序集清单里就没有版本数据,Version自然为空。 - 非托管程序集:通过反射加载非托管DLL时,这类文件没有.NET程序集的版本清单,所以
Version属性返回null。 - 模块程序集:加载的是模块而非完整程序集时,对应的
AssemblyName通常不包含版本信息,导致Version为空。
内容的提问来源于stack exchange,提问作者lonix
相关产品推荐
相关产品推荐

