fix: macOS Console.SetOut Dispose顺序 — 先恢复再Close避免ObjectDisposedException

This commit is contained in:
2026-07-13 03:48:54 +08:00
parent 9d4e4a0479
commit 24d6d02a22

View File

@ -62,12 +62,11 @@ namespace hjha_console
// 重定向 Console stdout → 本轮 ISMCTS 日志
var ismctsLog = $"{logDir}/round_{r:D5}_ismcts.txt";
var oldOut = Console.Out;
using (var ismctsWriter = new StreamWriter(ismctsLog) { AutoFlush = true })
{
Console.SetOut(ismctsWriter);
main.Test("");
}
Console.SetOut(oldOut);
var ismctsWriter = new StreamWriter(ismctsLog) { AutoFlush = true };
Console.SetOut(ismctsWriter);
main.Test("");
Console.SetOut(oldOut); // 先恢复再Close (macOS兼容)
ismctsWriter.Close();
// 合并 output.txt + ISMCTS 日志 → 本轮日志
using (var combined = new StreamWriter(logPath, false))