Я чувствую себя немного застенчиво, но как только я нажму "отправить" и снова подумал об этом, проблема вроде стала очевидной, и я нашел решение.
Проблема в том, что исходный Console.Out был установлен новым TextWriter с помощью mstest, и это не устанавливалось в моем новом домене приложения.
Итак, я создал метод SetConsoleOut для класса, который я создал в новом домене приложения, и передал его Console.Out.
TestFramework testFramework =
(TestFramework)newAppDomain.CreateInstanceAndUnwrap(
"TestFrameworkLibrary",
"MyNamespace.TestFramework");
testFramework.SetConsoleOut(Console.Out);
И в TestFramework я добавил метод
internal void SetConsoleOut(TextWriter consoleOut)
{
Console.SetOut(consoleOut);
}
Работает как шарм. Я не уверен в этикете здесь. Должен ли я просто удалить вопрос или добавить свой ответ на вопрос?