2009-11-04 71 views
1

所以我对cc.net相当陌生,但至今仍然如此。我有SVN得到最新版本,MSBuild的建设,但当涉及到我的单元测试,kablooey。在CruiseControl.NET中运行NUnit任务总是会引发错误

我尝试了修复GAC中修复引用的问题,但没有修复任何内容。我甚至卸载/重新安装NUnit,但仍然没有运气。另外,我的测试最初是参考NUNit 2.46,但现在我参考了我安装2.5.2的相同版本。我正在运行CruiseControl.NET 1.4.4.83。

目前我在我的开发机器上运行cc.net,它是WinXP Pro SP3,安装了.NET 2.0 SP1和3.5 SP1。我不使用VS.NET作为构建版本,但仅供参考,VS.NET 2005和2008 Professional Edition安装在本机上。

nunit-console.exe从命令行运行良好,所以怎么了?

这里是我的配置文件:

<cruisecontrol xmlns:cb="urn:ccnet.config.builder"> 
    <project> 
     <name>STAR Trunk</name> 
     <triggers> 
      <intervalTrigger name="continuous" seconds="450" buildCondition="ForceBuild" initialSeconds="120"/> 
     </triggers> 
     <sourcecontrol type="multi"> 
      <sourceControls> 
       <svn> 
        <trunkUrl>svn://myServerPath1</trunkUrl> 
        <workingDirectory>c:\MyPath1</workingDirectory> 
        <username>username</username> 
        <password>password</password> 
       </svn> 
       <svn> 
        <trunkUrl>svn://myServerPath2</trunkUrl> 
        <workingDirectory>c:\MyPath2</workingDirectory> 
        <username>username</username> 
        <password>password</password> 
       </svn> 
      </sourceControls> 
     </sourcecontrol> 
     <tasks> 
      <msbuild> 
       <executable>C:\WINDOWS\Microsoft.NET\Framework\v2.0.50727\MSBuild.exe</executable> 
       <workingDirectory>c:\MyPath</workingDirectory> 
       <projectFile>c:\MyPath\solution.sln</projectFile> 
       <buildArgs>/noconsolelogger /p:Configuration=Debug /v:diag</buildArgs> 
       <targets>Clean;Rebuild</targets> 
       <timeout>1200</timeout> 
      </msbuild> 
      <nunit> 
       <path>C:\Program Files\NUnit 2.5.2\bin\net-2.0\nunit-console.exe</path> 
       <assemblies> 
        <assembly>c:\MyTestsPath\bin\Assembly1.dll</assembly> 
        <assembly>c:\MyTestsPath\bin\Assembly2.dll</assembly> 
        <assembly>c:\MyTestsPath\bin\Assemblyn.dll</assembly> 
        <assembly>c:\MyTestsPath\bin\nunit.framework.dll</assembly> 
       </assemblies> 
      </nunit> 
     </tasks> 
    </project> 
</cruisecontrol> 

的cc.net服务器日志给出了这样的:

2009-11-04 11:47:53,841 [STAR Trunk:DEBUG] Running unit tests: C:\Program Files\NUnit 2.5.2\bin\net-2.0\nunit-console.exe /xml="C:\Program Files\CruiseControl.NET\server\STAR Trunk\Artifacts\nunit-results.xml" /nologo D:\dev\automatedTrunk\Star\Acuity.UnitTests\bin\Acuity.Diagnostics.dll D:\dev\automatedTrunk\Star\Acuity.UnitTests\bin\Acuity.UnitTests.dll D:\dev\automatedTrunk\Star\Acuity.UnitTests\bin\AjaxControlToolkit.dll D:\dev\automatedTrunk\Star\Acuity.UnitTests\bin\AutoSproc.dll D:\dev\automatedTrunk\Star\Acuity.UnitTests\bin\Framework.dll D:\dev\automatedTrunk\Star\Acuity.UnitTests\bin\Interop.HDSECOMPRESSION.dll D:\dev\automatedTrunk\Star\Acuity.UnitTests\bin\MetaBuilders.WebControls.ConfirmedButton.dll D:\dev\automatedTrunk\Star\Acuity.UnitTests\bin\MetaBuilders.WebControls.ExpandingPanel.dll D:\dev\automatedTrunk\Star\Acuity.UnitTests\bin\nunit.framework.dll D:\dev\automatedTrunk\Star\Acuity.UnitTests\bin\Star4.dll D:\dev\automatedTrunk\Star\Acuity.UnitTests\bin\StarCore.dll D:\dev\automatedTrunk\Star\Acuity.UnitTests\bin\StarReport.Lib.dll D:\dev\automatedTrunk\Star\Acuity.UnitTests\bin\WebControls.dll D:\dev\automatedTrunk\Star\Acuity.UnitTests\bin\webdev.webhost.dll 
2009-11-04 11:47:53,888 [STAR Trunk:DEBUG] Starting process [C:\Program Files\NUnit 2.5.2\bin\net-2.0\nunit-console.exe] in working directory [C:\Program Files\CruiseControl.NET\server\STAR Trunk\WorkingDirectory] with arguments [/xml="C:\Program Files\CruiseControl.NET\server\STAR Trunk\Artifacts\nunit-results.xml" /nologo D:\dev\automatedTrunk\Star\Acuity.UnitTests\bin\Acuity.Diagnostics.dll D:\dev\automatedTrunk\Star\Acuity.UnitTests\bin\Acuity.UnitTests.dll D:\dev\automatedTrunk\Star\Acuity.UnitTests\bin\AjaxControlToolkit.dll D:\dev\automatedTrunk\Star\Acuity.UnitTests\bin\AutoSproc.dll D:\dev\automatedTrunk\Star\Acuity.UnitTests\bin\Framework.dll D:\dev\automatedTrunk\Star\Acuity.UnitTests\bin\Interop.HDSECOMPRESSION.dll D:\dev\automatedTrunk\Star\Acuity.UnitTests\bin\MetaBuilders.WebControls.ConfirmedButton.dll D:\dev\automatedTrunk\Star\Acuity.UnitTests\bin\MetaBuilders.WebControls.ExpandingPanel.dll D:\dev\automatedTrunk\Star\Acuity.UnitTests\bin\nunit.framework.dll D:\dev\automatedTrunk\Star\Acuity.UnitTests\bin\Star4.dll D:\dev\automatedTrunk\Star\Acuity.UnitTests\bin\StarCore.dll D:\dev\automatedTrunk\Star\Acuity.UnitTests\bin\StarReport.Lib.dll D:\dev\automatedTrunk\Star\Acuity.UnitTests\bin\WebControls.dll D:\dev\automatedTrunk\Star\Acuity.UnitTests\bin\webdev.webhost.dll] 
2009-11-04 11:47:55,326 [4088:DEBUG] [STAR Trunk C:\Program Files\NUnit 2.5.2\bin\net-2.0\nunit-console.exe] ProcessModel: Default DomainUsage: Multiple 
2009-11-04 11:47:55,373 [4088:DEBUG] [STAR Trunk C:\Program Files\NUnit 2.5.2\bin\net-2.0\nunit-console.exe] Execution Runtime: net-2.0.50727.3603 
2009-11-04 11:47:55,498 [4088:DEBUG] [STAR Trunk C:\Program Files\NUnit 2.5.2\bin\net-2.0\nunit-console.exe] Unhandled Exception: 
2009-11-04 11:47:55,498 [4088:DEBUG] [STAR Trunk C:\Program Files\NUnit 2.5.2\bin\net-2.0\nunit-console.exe] System.IO.FileLoadException: Could not load file or assembly 'file:///C:/Program Files/NUnit 2.5.2/bin/net-2.0/lib/nunit.core.DLL' or one of its dependencies. Incorrect function. (Exception from HRESULT: 0x80070001) 
2009-11-04 11:47:55,498 [4088:DEBUG] [STAR Trunk C:\Program Files\NUnit 2.5.2\bin\net-2.0\nunit-console.exe] File name: 'file:///C:/Program Files/NUnit 2.5.2/bin/net-2.0/lib/nunit.core.DLL' 
2009-11-04 11:47:55,498 [4088:DEBUG] [STAR Trunk C:\Program Files\NUnit 2.5.2\bin\net-2.0\nunit-console.exe] at System.Reflection.Assembly._nLoad(AssemblyName fileName, String codeBase, Evidence assemblySecurity, Assembly locationHint, StackCrawlMark& stackMark, Boolean throwOnFileNotFound, Boolean forIntrospection) 
2009-11-04 11:47:55,498 [4088:DEBUG] [STAR Trunk C:\Program Files\NUnit 2.5.2\bin\net-2.0\nunit-console.exe] at System.Reflection.Assembly.nLoad(AssemblyName fileName, String codeBase, Evidence assemblySecurity, Assembly locationHint, StackCrawlMark& stackMark, Boolean throwOnFileNotFound, Boolean forIntrospection) 
2009-11-04 11:47:55,513 [4088:DEBUG] [STAR Trunk C:\Program Files\NUnit 2.5.2\bin\net-2.0\nunit-console.exe] at System.Reflection.Assembly.InternalLoad(AssemblyName assemblyRef, Evidence assemblySecurity, StackCrawlMark& stackMark, Boolean forIntrospection) 
2009-11-04 11:47:55,513 [4088:DEBUG] [STAR Trunk C:\Program Files\NUnit 2.5.2\bin\net-2.0\nunit-console.exe] at System.Reflection.Assembly.InternalLoadFrom(String assemblyFile, Evidence securityEvidence, Byte[] hashValue, AssemblyHashAlgorithm hashAlgorithm, Boolean forIntrospection, StackCrawlMark& stackMark) 
2009-11-04 11:47:55,513 [4088:DEBUG] [STAR Trunk C:\Program Files\NUnit 2.5.2\bin\net-2.0\nunit-console.exe] at System.Reflection.Assembly.LoadFrom(String assemblyFile, Evidence securityEvidence) 
2009-11-04 11:47:55,513 [4088:DEBUG] [STAR Trunk C:\Program Files\NUnit 2.5.2\bin\net-2.0\nunit-console.exe] at System.Activator.CreateInstanceFrom(String assemblyFile, String typeName, Boolean ignoreCase, BindingFlags bindingAttr, Binder binder, Object[] args, CultureInfo culture, Object[] activationAttributes, Evidence securityInfo) 
2009-11-04 11:47:55,513 [4088:DEBUG] [STAR Trunk C:\Program Files\NUnit 2.5.2\bin\net-2.0\nunit-console.exe] at System.AppDomain.CreateInstanceFrom(String assemblyFile, String typeName, Boolean ignoreCase, BindingFlags bindingAttr, Binder binder, Object[] args, CultureInfo culture, Object[] activationAttributes, Evidence securityAttributes) 
2009-11-04 11:47:55,513 [4088:DEBUG] [STAR Trunk C:\Program Files\NUnit 2.5.2\bin\net-2.0\nunit-console.exe] at System.AppDomain.InternalCreateInstanceFromWithNoSecurity(String assemblyName, String typeName, Boolean ignoreCase, BindingFlags bindingAttr, Binder binder, Object[] args, CultureInfo culture, Object[] activationAttributes, Evidence securityAttributes) 
2009-11-04 11:47:55,529 [4088:DEBUG] [STAR Trunk C:\Program Files\NUnit 2.5.2\bin\net-2.0\nunit-console.exe] at System.AppDomain.InternalCreateInstanceFromWithNoSecurity(String assemblyName, String typeName, Boolean ignoreCase, BindingFlags bindingAttr, Binder binder, Object[] args, CultureInfo culture, Object[] activationAttributes, Evidence securityAttributes) 
2009-11-04 11:47:55,529 [4088:DEBUG] [STAR Trunk C:\Program Files\NUnit 2.5.2\bin\net-2.0\nunit-console.exe] at System.Activator.CreateInstanceFrom(AppDomain domain, String assemblyFile, String typeName, Boolean ignoreCase, BindingFlags bindingAttr, Binder binder, Object[] args, CultureInfo culture, Object[] activationAttributes, Evidence securityAttributes) 
2009-11-04 11:47:55,529 [4088:DEBUG] [STAR Trunk C:\Program Files\NUnit 2.5.2\bin\net-2.0\nunit-console.exe] at NUnit.Core.DomainInitializer.CreateInstance(AppDomain targetDomain) 
2009-11-04 11:47:55,544 [4088:DEBUG] [STAR Trunk C:\Program Files\NUnit 2.5.2\bin\net-2.0\nunit-console.exe] at NUnit.Util.DomainManager.CreateDomain(TestPackage package) 
2009-11-04 11:47:55,544 [4088:DEBUG] [STAR Trunk C:\Program Files\NUnit 2.5.2\bin\net-2.0\nunit-console.exe] at NUnit.Util.TestDomain.Load(TestPackage package) 
2009-11-04 11:47:55,544 [4088:DEBUG] [STAR Trunk C:\Program Files\NUnit 2.5.2\bin\net-2.0\nunit-console.exe] at NUnit.Util.AggregatingTestRunner.Load(TestPackage package) 
2009-11-04 11:47:55,544 [4088:DEBUG] [STAR Trunk C:\Program Files\NUnit 2.5.2\bin\net-2.0\nunit-console.exe] at NUnit.ConsoleRunner.ConsoleUi.Execute(ConsoleOptions options) 
2009-11-04 11:47:55,544 [4088:DEBUG] [STAR Trunk C:\Program Files\NUnit 2.5.2\bin\net-2.0\nunit-console.exe] at NUnit.ConsoleRunner.Runner.Main(String[] args) 
2009-11-04 11:47:55,544 [4088:DEBUG] [STAR Trunk C:\Program Files\NUnit 2.5.2\bin\net-2.0\nunit-console.exe] 
2009-11-04 11:47:55,544 [4088:DEBUG] [STAR Trunk C:\Program Files\NUnit 2.5.2\bin\net-2.0\nunit-console.exe] 
2009-11-04 11:47:55,544 [STAR Trunk:INFO] Task execution failed 
2009-11-04 11:47:55,544 [STAR Trunk:INFO] Task output: ProcessModel: Default DomainUsage: Multiple 
Execution Runtime: net-2.0.50727.3603 
Unhandled Exception: 
System.IO.FileLoadException: Could not load file or assembly 'file:///C:/Program Files/NUnit 2.5.2/bin/net-2.0/lib/nunit.core.DLL' or one of its dependencies. Incorrect function. (Exception from HRESULT: 0x80070001) 
File name: 'file:///C:/Program Files/NUnit 2.5.2/bin/net-2.0/lib/nunit.core.DLL' 
    at System.Reflection.Assembly._nLoad(AssemblyName fileName, String codeBase, Evidence assemblySecurity, Assembly locationHint, StackCrawlMark& stackMark, Boolean throwOnFileNotFound, Boolean forIntrospection) 
    at System.Reflection.Assembly.nLoad(AssemblyName fileName, String codeBase, Evidence assemblySecurity, Assembly locationHint, StackCrawlMark& stackMark, Boolean throwOnFileNotFound, Boolean forIntrospection) 
    at System.Reflection.Assembly.InternalLoad(AssemblyName assemblyRef, Evidence assemblySecurity, StackCrawlMark& stackMark, Boolean forIntrospection) 
    at System.Reflection.Assembly.InternalLoadFrom(String assemblyFile, Evidence securityEvidence, Byte[] hashValue, AssemblyHashAlgorithm hashAlgorithm, Boolean forIntrospection, StackCrawlMark& stackMark) 
    at System.Reflection.Assembly.LoadFrom(String assemblyFile, Evidence securityEvidence) 
    at System.Activator.CreateInstanceFrom(String assemblyFile, String typeName, Boolean ignoreCase, BindingFlags bindingAttr, Binder binder, Object[] args, CultureInfo culture, Object[] activationAttributes, Evidence securityInfo) 
    at System.AppDomain.CreateInstanceFrom(String assemblyFile, String typeName, Boolean ignoreCase, BindingFlags bindingAttr, Binder binder, Object[] args, CultureInfo culture, Object[] activationAttributes, Evidence securityAttributes) 
    at System.AppDomain.InternalCreateInstanceFromWithNoSecurity(String assemblyName, String typeName, Boolean ignoreCase, BindingFlags bindingAttr, Binder binder, Object[] args, CultureInfo culture, Object[] activationAttributes, Evidence securityAttributes) 
    at System.AppDomain.InternalCreateInstanceFromWithNoSecurity(String assemblyName, String typeName, Boolean ignoreCase, BindingFlags bindingAttr, Binder binder, Object[] args, CultureInfo culture, Object[] activationAttributes, Evidence securityAttributes) 
    at System.Activator.CreateInstanceFrom(AppDomain domain, String assemblyFile, String typeName, Boolean ignoreCase, BindingFlags bindingAttr, Binder binder, Object[] args, CultureInfo culture, Object[] activationAttributes, Evidence securityAttributes) 
    at NUnit.Core.DomainInitializer.CreateInstance(AppDomain targetDomain) 
    at NUnit.Util.DomainManager.CreateDomain(TestPackage package) 
    at NUnit.Util.TestDomain.Load(TestPackage package) 
    at NUnit.Util.AggregatingTestRunner.Load(TestPackage package) 
    at NUnit.ConsoleRunner.ConsoleUi.Execute(ConsoleOptions options) 
    at NUnit.ConsoleRunner.Runner.Main(String[] args) 



2009-11-04 11:47:55,544 [STAR Trunk:WARN] NUnit test output file C:\Program Files\CruiseControl.NET\server\STAR Trunk\Artifacts\nunit-results.xml was not created 
2009-11-04 11:47:56,263 [STAR Trunk:DEBUG] Supplied output is not valid xml. Writing as CDATA 
2009-11-04 11:47:56,263 [STAR Trunk:DEBUG] Output: ProcessModel: Default DomainUsage: Multiple 
Execution Runtime: net-2.0.50727.3603 
Unhandled Exception: 
System.IO.FileLoadException: Could not load file or assembly 'file:///C:/Program Files/NUnit 2.5.2/bin/net-2.0/lib/nunit.core.DLL' or one of its dependencies. Incorrect function. (Exception from HRESULT: 0x80070001) 
File name: 'file:///C:/Program Files/NUnit 2.5.2/bin/net-2.0/lib/nunit.core.DLL' 
    at System.Reflection.Assembly._nLoad(AssemblyName fileName, String codeBase, Evidence assemblySecurity, Assembly locationHint, StackCrawlMark& stackMark, Boolean throwOnFileNotFound, Boolean forIntrospection) 
    at System.Reflection.Assembly.nLoad(AssemblyName fileName, String codeBase, Evidence assemblySecurity, Assembly locationHint, StackCrawlMark& stackMark, Boolean throwOnFileNotFound, Boolean forIntrospection) 
    at System.Reflection.Assembly.InternalLoad(AssemblyName assemblyRef, Evidence assemblySecurity, StackCrawlMark& stackMark, Boolean forIntrospection) 
    at System.Reflection.Assembly.InternalLoadFrom(String assemblyFile, Evidence securityEvidence, Byte[] hashValue, AssemblyHashAlgorithm hashAlgorithm, Boolean forIntrospection, StackCrawlMark& stackMark) 
    at System.Reflection.Assembly.LoadFrom(String assemblyFile, Evidence securityEvidence) 
    at System.Activator.CreateInstanceFrom(String assemblyFile, String typeName, Boolean ignoreCase, BindingFlags bindingAttr, Binder binder, Object[] args, CultureInfo culture, Object[] activationAttributes, Evidence securityInfo) 
    at System.AppDomain.CreateInstanceFrom(String assemblyFile, String typeName, Boolean ignoreCase, BindingFlags bindingAttr, Binder binder, Object[] args, CultureInfo culture, Object[] activationAttributes, Evidence securityAttributes) 
    at System.AppDomain.InternalCreateInstanceFromWithNoSecurity(String assemblyName, String typeName, Boolean ignoreCase, BindingFlags bindingAttr, Binder binder, Object[] args, CultureInfo culture, Object[] activationAttributes, Evidence securityAttributes) 
    at System.AppDomain.InternalCreateInstanceFromWithNoSecurity(String assemblyName, String typeName, Boolean ignoreCase, BindingFlags bindingAttr, Binder binder, Object[] args, CultureInfo culture, Object[] activationAttributes, Evidence securityAttributes) 
    at System.Activator.CreateInstanceFrom(AppDomain domain, String assemblyFile, String typeName, Boolean ignoreCase, BindingFlags bindingAttr, Binder binder, Object[] args, CultureInfo culture, Object[] activationAttributes, Evidence securityAttributes) 
    at NUnit.Core.DomainInitializer.CreateInstance(AppDomain targetDomain) 
    at NUnit.Util.DomainManager.CreateDomain(TestPackage package) 
    at NUnit.Util.TestDomain.Load(TestPackage package) 
    at NUnit.Util.AggregatingTestRunner.Load(TestPackage package) 
    at NUnit.ConsoleRunner.ConsoleUi.Execute(ConsoleOptions options) 
    at NUnit.ConsoleRunner.Runner.Main(String[] args) 



2009-11-04 11:47:56,263 [STAR Trunk:DEBUG] Exception: System.Xml.XmlException: An error occurred while parsing EntityName. Line 6, position 146. 
    at System.Xml.XmlTextReaderImpl.Throw(Exception e) 
    at System.Xml.XmlTextReaderImpl.Throw(String res, Int32 lineNo, Int32 linePos) 
    at System.Xml.XmlTextReaderImpl.HandleEntityReference(Boolean isInAttributeValue, EntityExpandType expandType, Int32& charRefEndPos) 
    at System.Xml.XmlTextReaderImpl.ParseText(Int32& startPos, Int32& endPos, Int32& outOrChars) 
    at System.Xml.XmlTextReaderImpl.ReadValueChunk(Char[] buffer, Int32 index, Int32 count) 
    at System.Xml.XmlWriter.WriteNode(XmlReader reader, Boolean defattr) 
    at ThoughtWorks.CruiseControl.Core.Util.XmlFragmentWriter.WriteNode(XmlReader reader, Boolean defattr) 
    at ThoughtWorks.CruiseControl.Core.Util.XmlFragmentWriter.WriteNode(String xml) 
2009-11-04 11:47:56,263 [STAR Trunk:INFO] Integration complete: Failure - 11/4/2009 11:47:55 AM 

mfeingold贴一下下面融合日志后,这里就是我的了:

*** Assembly Binder Log Entry (11/7/2009 @ 10:26:46 PM) *** 

The operation failed. 
Bind result: hr = 0x80070001. Incorrect function. 

Assembly manager loaded from: c:\WINDOWS\Microsoft.NET\Framework\v2.0.50727\mscorwks.dll 
Running under executable C:\Program Files\NUnit 2.4.6\bin\nunit-console.exe 
--- A detailed error log follows. 

=== Pre-bind state information === 
LOG: User = NT AUTHORITY\SYSTEM 
LOG: Where-ref bind. Location = C:/Program Files/NUnit 2.4.6/bin/nunit.core.DLL 
LOG: Appbase = file:///D:/dev/automatedTrunk/Star/Acuity.UnitTests/bin 
LOG: Initial PrivatePath = NULL 
LOG: Dynamic Base = NULL 
LOG: Cache Base = C:\WINDOWS\TEMP\nunit20\ShadowCopyCache\2272_633932296067629930 
LOG: AppName = Tests 
Calling assembly : (Unknown). 
=== 
LOG: This bind starts in LoadFrom load context. 
WRN: Native image will not be probed in LoadFrom context. Native image will only be probed in default load context, like with Assembly.Load(). 
LOG: Download of application configuration file was attempted from file:///D:/dev/automatedTrunk/Star/Acuity.UnitTests/bin/Acuity.Diagnostics.dll.config. 
+0

感谢您的回答。 @mfeingold - 融合日志很有帮助。删除临时文件有助于解决nunit-console.exe未运行的问题。另一个问题是,我很尴尬地说,在键盘前面。在家里我有一个D:驱动器。在工作中,我不......虽然我发布的cc.net配置不显示nunit汇编节点的真实路径,但是有对D:驱动器的引用。哎哟! – nickytonline 2009-11-11 18:14:05

回答

1

此错误并不一定表示问题出在NUnitCore程序集上。它可能是它所需的一个组件不能被访问。尝试打开Fusion日志 - 运行融合日志查看器。它会产生的日志会告诉你更多关于最新错误的细节。

要运行融合日志查看器打开从Visual Studio中的一个控制台窗口 - >工具菜单,键入程序的名称:fuslogvw

1

问:什么是你想达到这个配置:

<nunit> 
    <path>C:\Program Files\NUnit 2.5.2\bin\net-2.0\nunit-console.exe</path> 
    <assemblies> 
    <assembly>c:\MyTestsPath\bin\Assembly1.dll</assembly> 
    <assembly>c:\MyTestsPath\bin\Assembly2.dll</assembly> 
    <assembly>c:\MyTestsPath\bin\Assemblyn.dll</assembly> 
    <assembly>c:\MyTestsPath\bin\nunit.framework.dll</assembly> 
    </assemblies> 
</nunit> 

你想单元测试nunit.framework.dll?只是猜测,但不能导致文件访问问题?

反正这将导致更多的问题:

  • 你期待nunit.framework.dll是在编译输出文件夹?
  • 它怎么能到那里?
  • 您是否将它添加到源代码管理呢?
  • 你的Visual Studio项目中的nunit.framework.dll引用指向哪里?

这么多的问题,虽然这应该是你原来的问题的答案。

这是我想尝试:

  • 从CCNET配置中删除nunit.framework.dll装配节点
  • 让所有的Visual Studio单元测试项目中引用C:\Program Files\NUnit 2.5.2\bin\net-2.0\nunit.framework.dll
+0

@The Chairman - 对不起,我将Assembly1.dll的程序集重命名为我想测试的程序集。我包括c:\ MyTestsPath \ bin \ nunit.framework.dll,因为当我读到NUnit任务时,它说我引用单元测试程序集的bin中的所有程序集。我可能读过那个错误了。但是,我昨天拔出了c:\ MyTestsPath \ bin \ nunit.framework.dll,问题仍然存在。供我的项目参考。我从GAC中引用了它。你是说explicilty从它的安装文件夹中引用它?任何原因?是否因为在另一台机器上可能不在GAC中? – nickytonline 2009-11-09 14:47:37

1

我从融合日志中看到, NUnit似乎启用了ShadowCopy。在过去,我遇到了这个问题。它似乎没有CruiseControl任务允许将其关闭,因此您可能必须直接调用命令行工具来执行此操作。

相关问题