我正在尝试实现一个自动构建过程。构建后,运行 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 没有运行,尽管条件似乎是相同的。