订阅.NET Core 2.1中xUnit中的AppDomain.UnhandledException

Jér*_*VEL 5 c# xunit .net-core

我有一个针对 .NET Core 2.1 的 xUnit 测试项目,我想捕获所有未处理的异常。

[Fact]
public static void Test()
{
    AppDomain.CurrentDomain.UnhandledException += Domain_UnhandledException;

    string test = null;
    test.ToString();
}

private static void Domain_UnhandledException(object sender, UnhandledExceptionEventArgs e)
{
    var ex = (Exception)e.ExceptionObject;
}
Run Code Online (Sandbox Code Playgroud)

我在事件处理程序中设置了断点Domain_UnhandledException,但从未调用此函数。

如果我在单独的 .NET Standard 2.0 类库中订阅该AppDomain.CurrentDomain.UnhandledException事件,并使我的 NUnit 测试项目调用错误代码并抛出异常,我会得到相同的结果:Domain_UnhandledException未调用。

我还尝试使用创建一个新域AppDomain.CreateDomain,但收到一条错误消息,告诉我该框架不支持创建其他域。

我怎样才能做到这一点?我的目标是捕获 Core .NET Standard 项目中所有未处理的异常并将其全部记录下来。

谢谢