Я пытаюсь реализовать автоматизированный процесс сборки. После сборки выполняются юнит-тесты на nunit-console.exe. Отобразится следующая ошибка:
> c:\nunit_2.5.10\nunit-console.exe c:\builds\Output\bin\TDD.nunit /framework=4.0.30319 /nologo /trace=Off
ProcessModel: Default DomainUsage: Default
Execution Runtime: v4.0.30319
Unhandled Exception:
System.ArgumentException: NUnit components for version 4.0.30319 of the CLR are not installed
Parameter name: targetRuntime
at NUnit.Util.TestAgency.LaunchAgentProcess(RuntimeFramework targetRuntime, Boolean enableDebug)
at NUnit.Util.TestAgency.CreateRemoteAgent(RuntimeFramework framework, Int32 waitTime, Boolean enableDebug)
at NUnit.Util.TestAgency.GetAgent(RuntimeFramework framework, Int32 waitTime, Boolean enableDebug)
at NUnit.Util.ProcessRunner.Load(TestPackage package)
at NUnit.ConsoleRunner.ConsoleUi.Execute(ConsoleOptions options)
at NUnit.ConsoleRunner.Runner.Main(String[] args)
На сборщике нет nunit-agent.exe. Однако на моей машине он даже не называется, поэтому я полагаю, что это не обязательно.
Почему nunit-agent.exe требуется в некоторых случаях, но не всегда требуется? Какие условия должны быть выполнены, поэтому nunit-agent не нужно запускать?
Изменить: я нашел один ресурс, который описывает, как он работает, но не совсем хорошо: http://www.nunit.org/index.php?p=nunit-agent&r=2.5.10. В нем говорится, что он запускается, когда программа должна запускаться в другой структуре, чем та, которая используется NUnit (это так, поскольку NUnit скомпилирован для версии 2.0). Однако на моей машине nunit-agent.exe не работает, хотя условия кажутся одинаковыми.