我正試圖解決在生產系統上發生的NullReferenceException
問題。如果在堆棧跟蹤的行號是可以信任的,那就似乎表明AppDomain.CreateInstanceAndUnwrap
返回null:AppDomain.CreateInstanceAndUnwrap是否可以返回null?
this.jobRunner =
(JobRunner)this.appDomain.CreateInstanceAndUnwrap(assemblyName, typeName);
// ...
try
{
this.jobRunner.Run(this.job); // <== NullReferenceException occurs here
}
然而,MSDN Library沒有具體說null是一個可能的返回值:
返回值
類型:System.Object
通過的typeName指定的對象的實例。
我的問題:可以AppDomain.CreateInstanceAndUnwrap
合法返回null?如果是這樣,那是什麼意思?
this.jobRunner在兩者之間的任何地方都被取消了嗎? –
@ M.A.Hanin:不,我只省略了兩條語句:'this.status = Status.RunningJob; Monitor.Exit(this.syncLock);' –