我还没有为 NUnit 解决这个问题。有一个类似的问题被问到,这里提出了这个例外。答案解决了 xUnit 的使用,提问者报告说他让它为 MSTest 工作。我已尝试调用Dispatcher.CurrentDispatcher.InvokeShutdown();
、和方法[TearDown]
,但仍然出现异常。[TestFixtureTearDown]
[Test]
关于我的实现的更多细节:我创建了一个扩展 System.Windows.Window 的 InputBox 类。我做了一个静态方法,InputBox.Show(prompt)
它执行以下代码:
var input = "";
var t = new Thread(() =>
{
var inputBox = new InputBox(prompt);
inputBox.ShowDialog();
input = inputBox.Input;
}) {IsBackground = true};
t.SetApartmentState(ApartmentState.STA);
t.Start();
t.Join();
return input;
有任何想法吗?