0

我有一些针对 .NET 3.5 编译的测试程序集。但是,当我打开 nunit-x86.exe 并从其构建路径中添加任何程序集时,我会得到一个

System.IO.FileNotFoundException...

服务器堆栈跟踪:bei System.Reflection.AssemblyName.nGetFileInformation(String s) bei System.Reflection.AssemblyName.GetAssemblyName(String assemblyFile)
bei NUnit.Core.Builders.TestAssemblyBuilder.Load(String path) bei NUnit.Core.Builders.TestAssemblyBuilder.Build(String assemblyName, Boolean autoSuites) bei NUnit.Core.Builders.TestAssemblyBuilder.Build(String assemblyName, String testName, Boolean autoSuites ) bei NUnit.Core.TestSuiteBuilder.Build(TestPackage package) bei NUnit.Core.SimpleTestRunner.Load(TestPackage package) bei NUnit.Core.ProxyTestRunner.Load(TestPackage package) bei NUnit.Core.ProxyTestRunner.Load(TestPackage package) bei NUnit.Core.RemoteTestRunner.Load(TestPackage package) 在 System.Runtime.Remoting.Messaging.StackBuilderSink._PrivateProcessMessage(IntPtr md, Object[] args, Object server, Int32 methodPtr, Boolean fExecuteInContext, Object[]& outArgs) 在 System. Runtime.Remoting.Messaging.StackBuilderSink。SyncProcessMessage(IMessage msg, Int32 methodPtr, Boolean fExecuteInContext)

在 NUnit 项目编辑器中,我指向测试项目配置文件并选择 .NET-runtime 2.0.xxx,因为测试项目是使用 .NET-Framework 3.5 编译的 Debug/x86。

我什至无法加载与该程序集相关的 VS 项目,这很烦人。

这是我的测试项目配置文件的一部分:

<configSections>
    <!-- Register the section handler for the log4net section -->
    <section name="log4net" type="log4net.Config.Log4NetConfigurationSectionHandler,log4net" />
    <sectionGroup name="NUnit">
      <!--  For .NET 2.0 Beta 2 replace the lines with the following -->
      <section name="TestCaseBuilder" type="System.Configuration.NameValueSectionHandler, System, Version=2.0.50215.44, Culture=neutral, PublicKeyToken=b77a5c561934e089" />
      <section name="TestRunner" type="System.Configuration.NameValueSectionHandler, System, Version=2.0.50215.44, Culture=neutral, PublicKeyToken=b77a5c561934e089" />
    </sectionGroup>
</configSections>

编辑:也尝试使用 nunit-console,它给了我以下内容:

NUnit-Console 版本 2.6.4.14350 版权所有 (C) 2002-2012 Charlie Poole。版权所有 (C) 2002-2004 James W. Newkirk、Michael C. Two、Alexei A. Vorontsov。版权所有 (C) 2000-2002 菲利普·克雷格。版权所有。

运行时环境 - 操作系统版本:Microsoft Windows NT 6.2.9200.0
CLR 版本:2.0.50727.8009 (Net 3.5)

ProcessModel:默认域使用:单次执行运行时:net-3.5 未处理的异常:System.BadImageFormatException:文件或程序集“MyTestAssembly.Test,版本 = 6.4.3.0,文化 = 中性,PublicKeyToken = 39011c0f9e8bb8bc”或其依赖项之一不是成立。试图加载格式不正确的程序。文件名:“MyTestAssembly.Test,版本=6.4.3.0,文化=中性,PublicKeyToken =39011c0f9e8bb8bc”

服务器堆栈跟踪:bei System.Reflection.Assembly._nLoad(AssemblyName fileName, String codeBase, Evidence assemblySecurity, Assembly locationHint, StackCrawlMark& stackMark, Bo olean throwOnFileNotFound, Boolean forIntrospection) bei System.Reflection.Assembly.InternalLoad(AssemblyName assemblyRef, Evidenc e assemblySecurity , StackCrawlMark& stackMark, Boolean for Introspection) bei System.Reflection.Assembly.Load(AssemblyName assemblyRef) bei NUnit.Core.Builders.TestAssemblyBuilder.Load(String path) bei NUnit.Core.Builders.TestAssemblyBuilder.Build(String assemblyName, Boolea n autoSuites ) bei NUnit.Core.Builders.TestAssemblyBuilder.Build(String assemblyName, String testName, Boolean autoSuites) bei NUnit.Core.TestSuiteBuilder.BuildSingleAssembly(TestPackage 包)
北 NUnit.Core.TestSuiteBuilder.Build(TestPackage 包) 北 NUnit.Core.SimpleTestRunner.Load(TestPackage 包) 北 NUnit.Core.ProxyTestRunner.Load(TestPackage 包) 北 NUnit.Core.ProxyTestRunner.Load(TestPackage 包) 北 NUnit .Core.RemoteTestRunner.Load(TestPackage package) bei System.Runtime.Remoting.Messaging.StackBuilderSink._PrivateProcessMessage (IntPtr md, Object[] args, Object server, Int32 methodPtr, Boolean fExecuteInCon text, Object[]& outArgs) bei System。 Runtime.Remoting.Messaging.StackBuilderSink.SyncProcessMessage(IMe ssage msg, Int32 methodPtr, Boolean fExecuteInContext)

在 [0] 处重新抛出异常:在 System.Runtime.Remoting.Proxies.RealProxy.HandleReturnMessage(IMessage re qMsg, IMessage retMsg) 在 System.Runtime.Remoting.Proxies.RealProxy.PrivateInvoke(MessageData& msgData, Int32 type) 在 NUnit 中。 Core.TestRunner.Load(TestPackage package) bei NUnit.Util.TestDomain.Load(TestPackage package) bei NUnit.ConsoleRunner.ConsoleUi.Execute(ConsoleOptions options) bei NUnit.ConsoleRunner.Runner.Main(String[] args)

4

0 回答 0