Вы инициализируете CoreServices, но не используете их, потому что тесты выполняются на очень низком уровне.Использование внутренних классов, не предназначенных для общего назначения, всегда рискованно.Но особенно рискованно, если вы собираете их по частям, а не используете их так, как это делает сам NUnit.
Если вы хотите запускать тесты программно (это может быть не очень хорошей идеей, но, похоже,будь то, что ты хочешь делать) тогда я предлагаю тебе выбрать и использовать одного из бегунов NUnit, чтобы позаботиться о деталях для тебя.Выберите из SimpleTestRUnner, RemoteTestRunner или TestDomain, в зависимости от того, как вы хотите, чтобы тесты выполнялись, и где.
TestDomain будет запускать их в отдельном AppDomain, который, как правило, самый простой и безопасный.RemoteTestRunner будет запускать их в текущем домене приложений, перенаправляя вывод.SimpleTestRunner - это бегун самого низкого уровня (но все же way более высокий уровень, чем вы делаете), и он просто запускает тесты там, где они есть.Обратите внимание, что вы не можете запускать тесты в одном и том же домене приложений (удаленном и простом), если вы не скопировали все тестовые файлы, их ссылки и файлы NUnit в один и тот же каталог.