NUnit 3.0
Мы недавно перешли на NUnit 3.0, и старые атрибуты, которые мы использовали, больше не работали. Наши тесты использовали смесь [STAThread]
и [RequiresSTA]
, как в ответе mas_oz2k1 выше. STAThread выдавал ошибки компиляции, поскольку он больше не был найден, а RequSTSTA выдавал предупреждения, поскольку он устарел.
Новый курс, похоже, использует следующее:
Уровень сборки
[assembly: Apartment(ApartmentState.STA)]
Уровень класса
[TestFixture]
[Apartment(ApartmentState.STA)]
Уровень метода
[Test]
[Apartment(ApartmentState.STA)]
Попытка найти эту информацию привела меня к мрачному пути, когда люди модифицировали свой тестовый код с помощью класса CrossThreadTestRunner. Это было решением в 2004 году, я полагаю, до того, как были созданы эти классы атрибутов.