我在C#中有一个看起来像这样的测试:
public void CanLog()
{
ModUnderTest.Log.Info("HI");
}
此C#代码抛出一个Null Reference异常,表示测试中ModUnderTest.Log
为空。这是测试中的代码:
module ModUnderTest
let Log = log4net.LogManager.GetLogger("name")
为什么这不起作用?它编译很好但在运行时失败。
答案 0 :(得分:5)
我的猜测是(1)GetLogger
返回null(你有错误的'name'),或者(2)F#代码在EXE而不是DLL中,而静态初始值设定为模块没有运行。