c# - 程序集可以没有版本吗?

标签 c#

长话短说,如果我这样做:

string myV = Assembly.GetExecutingAssembly().GetName().Version.ToString();

有些东西会是空的吗?我阅读了 msdn,它没有指定 GetName()Version 部分。

最佳答案

该字段技术上可能为空:

var name = Assembly.GetExecutingAssembly().GetName();
name.Version = null;
Console.WriteLine(name.Version == null);   // true

但我想不出在什么情况下它为空。由于检查是微不足道的,我会添加一个 null 检查并在适当时抛出一个自定义异常,如果它 null,因为诊断 NullReferenceException 可能很困难,因为你不获取关于什么 为 null 的任何指示,而不是堆栈跟踪。

关于c# - 程序集可以没有版本吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37600194/

相关文章:

c# - 查找 C# 列表中是否存在值的最有效方法

c# - 找不到错误 PDF 标题签名

c# - 使用基类在多个浏览器中运行 Selenium 测试

c# - 项目最佳实践中的单一连接字符串

c# - 将表格移动到特定屏幕

c# - 没有对 Task 的引用会导致内存泄漏吗?

c# - Entity Framework - 包括多级属性

c# - 如何在 .NET 中以编程方式获取另一个位置的时间?

c# - 获取 Repeater 的元素

c# - 使用 CaSTLe Windsor IoC 容器时添加服务初始化方法