这个简单的F#块出了什么问题?

时间:2012-03-21 17:48:29

标签: f#

我在C#中有一个看起来像这样的测试:

public void CanLog()
{
    ModUnderTest.Log.Info("HI");
}

此C#代码抛出一个Null Reference异常,表示测试中ModUnderTest.Log为空。这是测试中的代码:

module ModUnderTest
    let Log = log4net.LogManager.GetLogger("name")

为什么这不起作用?它编译很好但在运行时失败。

1 个答案:

答案 0 :(得分:5)

我的猜测是(1)GetLogger返回null(你有错误的'name'),或者(2)F#代码在EXE而不是DLL中,而静态初始值设定为模块没有运行。