长话短说,如果我这样做:
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/