Build/Test Issues

Exception when building with NCrunch 2015 2.11.023

Started by fehaar on 21,798 views

I am getting an exception when building my project. The error is posted below. The behavior is a regression from version 2.11.0.12 where everything works fine.

What further info can I give you to locate the error? Do you need the DLL and/or PDB?

Gallio.Model.ModelException: An exception occurred while invoking a test driver. ---> Microsoft.Cci.Pdb.PdbDebugException: Unknown custom metadata item kind: 6
at Microsoft.Cci.Pdb.PdbFunction.ReadCustomMetadata(BitAccess bits)
at Microsoft.Cci.Pdb.PdbFunction..ctor(ManProcSym proc, BitAccess bits)
at Microsoft.Cci.Pdb.PdbFunction.LoadManagedFunctions(BitAccess bits, UInt32 limit, Boolean readStrings)
at Microsoft.Cci.Pdb.PdbFile.LoadFuncsFromDbiModule(BitAccess bits, DbiModuleInfo info, IntHashTable names, ArrayList funcList, Boolean readStrings, MsfDirectory dir, Dictionary`2 nameIndex, PdbReader reader)
at Microsoft.Cci.Pdb.PdbFile.LoadFunctions(Stream read, BitAccess bits, Boolean readAllStrings)
at Microsoft.Cci.Pdb.PdbFile.LoadFunctions(Stream read, Boolean readAllStrings)
at Microsoft.Cci.PdbReader..ctor(Stream pdbStream, IMetadataHost host)
at Gallio.Common.Reflection.Impl.CciModuleCache.FeedMap()
at Gallio.Common.Reflection.Impl.CciModuleCache..ctor(IFileSystem fileSystem, String assemblyPath)
at Gallio.Common.Reflection.Impl.CciDebugSymbolResolver.GetSourceLocationForMethod(String assemblyPath, Int32 methodToken)
at Gallio.Common.Reflection.Impl.CecilReflectionPolicy.GetMethodSourceLocation(MethodDefinition methodDefinition)
at Gallio.Common.Reflection.Impl.CecilReflectionPolicy.GuessTypeSourceLocation(TypeDefinition typeDefinition)
at Gallio.Common.Reflection.Impl.CecilReflectionPolicy.GetMemberSourceLocation(StaticMemberWrapper member)
at Gallio.Common.Reflection.Impl.StaticMemberWrapper.<GetCodeLocation>b__15()
at Gallio.Common.Memoizer`1.Memoize(Func`1 populator)
at Gallio.Common.Reflection.Impl.StaticMemberWrapper.GetCodeLocation()
at Gallio.Model.Schema.TestComponentData..ctor(TestComponent source)
at Gallio.Model.Schema.TestData..ctor(Test source, Boolean nonRecursive)
at Gallio.Model.Messages.TestModelSerializer.PublishTestModel(TestModel testModel, IMessageSink messageSink)
at Gallio.Model.Helpers.SimpleTestDriver.GenerateTestModel(IReflectionPolicy reflectionPolicy, IEnumerable`1 codeElements, IMessageSink messageSink)
at Gallio.Model.Helpers.SimpleTestDriver.DescribeImpl(IReflectionPolicy reflectionPolicy, IList`1 codeElements, TestExplorationOptions testExplorationOptions, IMessageSink messageSink, IProgressMonitor progressMonitor)
at Gallio.Model.BaseTestDriver.Describe(IReflectionPolicy reflectionPolicy, IList`1 codeElements, TestExplorationOptions testExplorationOptions, IMessageSink messageSink, IProgressMonitor progressMonitor)
at Gallio.Model.DefaultTestFrameworkManager.FilteredTestDriver.<>c__DisplayClass17.<DescribeImpl>b__15(ITestDriver driver, IList`1 items, Int32 driverCount)
at Gallio.Model.DefaultTestFrameworkManager.FilteredTestDriver.ForEachDriver[T](MultiMap`2 testFrameworkPartitions, Func`4 func)
--- End of inner exception stack trace ---
at Gallio.Model.DefaultTestFrameworkManager.FilteredTestDriver.ForEachDriver[T](MultiMap`2 testFrameworkPartitions, Func`4 func)
at Gallio.Model.DefaultTestFrameworkManager.FilteredTestDriver.DescribeImpl(IReflectionPolicy reflectionPolicy, IList`1 codeElements, TestExplorationOptions testExplorationOptions, IMessageSink messageSink, IProgressMonitor progressMonitor)
at Gallio.Model.BaseTestDriver.Describe(IReflectionPolicy reflectionPolicy, IList`1 codeElements, TestExplorationOptions testExplorationOptions, IMessageSink messageSink, IProgressMonitor progressMonitor)
at nCrunch.Module.Gallio.Integration.GallioWrapper.FindFrameworkTestsInAssembly(ReflectedAssembly assembly, FilePath assemblyFilePath, IList`1 referencedAssemblyFilePaths)
at nCrunch.Module.Gallio.Integration.GallioTestFramework.FindFrameworkTestsInAssembly(ReflectedAssembly assembly, FilePath assemblyFilePath, IList`1 referencedAssemblyFilePaths, ComponentUniqueName testComponentUniqueName)
at nCrunch.TestExecution.TestFinder.FindTestsForFrameworks(ReflectedAssembly assembly, FilePath assemblyFilePath, IList`1 referencedAssemblyFilePaths, TestFrameworkDescription[] frameworks, ComponentUniqueName testComponentUniqueName)
at nCrunch.Compiler.StaticManipulation.BuiltAssembly.DiscoverTests(TestFrameworkDescription[] applicableTestFrameworks, ComponentUniqueName testComponentUniqueName)
at nCrunch.Compiler.RemoteBuildRunner.(ComponentBuildParameters , FilePath , BuildOutput , DirectoryPath[] , FilePath[] )
at nCrunch.Compiler.RemoteBuildRunner.Build(ComponentBuildParameters parameters)
Hi, thanks for sharing this issue.

At the moment I can't think of any reason why this exception would be thrown, unless it's because the build environment is resolving to the wrong version of Mono.Cecil.Pdb.dll.

Would you be able to follow the steps below?

1. Set your 'Max number of processing threads' global configuration setting to '1'
2. Disable then Enable NCrunch
3. Wait for the build error to appear
4. Using the VS debugger, attach to the nCrunch.BuildHost453.x86.exe process (there should only be one)
5. Break into the process
6. Open up the list of modules in the process
7. Copy/paste the output into the forum here. I'm particularly interested in the Path and version of the Mono.Cecil.Pdb.dll file

If you are able to supply the DLL/PDB for the test project (you can submit files through the contact form), that would also be really helpful.
I too am experiencing this same error after upgrading to the latest 2.12.0.2. I am using VS 2015.

The previous "beta" version, which I think was 2.11.0.12, worked fine for me too.

Sorry about the formatting below, can't get it to look right.

Specifically here is the path and version of the cecil libs:
Mono.Cecil.dll C:\Program Files (x86)\Microsoft Visual Studio 14.0\Common7\IDE\Extensions\Remco Software\NCrunch for Visual Studio 2015\Mono.Cecil.dll Yes No Skipped loading symbols. 29 2.12.0.2 1/26/2015 17:15 06940000-06988000 [20564] nCrunch.BuildHost453.x86.exe [2] nCrunch.TestRunner.AppDomain_0987bf5608334b669a995f9661746a92
Mono.Cecil.Pdb.dll C:\Program Files (x86)\Microsoft Visual Studio 14.0\Common7\IDE\Extensions\Remco Software\NCrunch for Visual Studio 2015\Mono.Cecil.Pdb.dll Yes No Skipped loading symbols. 30 2.12.0.2 1/26/2015 17:15 06920000-0693C000 [20564] nCrunch.BuildHost453.x86.exe [2] nCrunch.TestRunner.AppDomain_0987bf5608334b669a995f9661746a92


Here are the modules you requested:

mscorlib.dll C:\WINDOWS\Microsoft.Net\assembly\GAC_32\mscorlib\v4.0_4.0.0.0__b77a5c561934e089\mscorlib.dll Yes No Skipped loading symbols. 1 4.5.27.0 built by: FX453PREVIEWREL 11/7/2014 5:55 73AB0000-74B98000 [20564] nCrunch.BuildHost453.x86.exe [1] nCrunch.BuildHost453.x86.exe
nCrunch.BuildHost453.x86.exe C:\Program Files (x86)\Microsoft Visual Studio 14.0\Common7\IDE\Extensions\Remco Software\NCrunch for Visual Studio 2015\nCrunch.BuildHost453.x86.exe Yes No Skipped loading symbols. 2 2.12.0.2 1/26/2015 17:16 005C0000-005C8000 [20564] nCrunch.BuildHost453.x86.exe [1] nCrunch.BuildHost453.x86.exe
nCrunch.TaskRunner.dll C:\Program Files (x86)\Microsoft Visual Studio 14.0\Common7\IDE\Extensions\Remco Software\NCrunch for Visual Studio 2015\nCrunch.TaskRunner.dll Yes No Binary was not built with debug information. 3 2.12.0.2 1/26/2015 17:15 02360000-02370000 [20564] nCrunch.BuildHost453.x86.exe [1] nCrunch.BuildHost453.x86.exe
nCrunch.Common.dll C:\Program Files (x86)\Microsoft Visual Studio 14.0\Common7\IDE\Extensions\Remco Software\NCrunch for Visual Studio 2015\nCrunch.Common.dll Yes No Binary was not built with debug information. 4 2.12.0.2 1/26/2015 17:15 047C0000-047E6000 [20564] nCrunch.BuildHost453.x86.exe [1] nCrunch.BuildHost453.x86.exe
System.dll C:\WINDOWS\Microsoft.Net\assembly\GAC_MSIL\System\v4.0_4.0.0.0__b77a5c561934e089\System.dll Yes No Skipped loading symbols. 5 4.5.27.0 built by: FX453PREVIEWREL 11/7/2014 6:07 73030000-739B1000 [20564] nCrunch.BuildHost453.x86.exe [1] nCrunch.BuildHost453.x86.exe
System.Core.dll C:\WINDOWS\Microsoft.Net\assembly\GAC_MSIL\System.Core\v4.0_4.0.0.0__b77a5c561934e089\System.Core.dll Yes No Skipped loading symbols. 6 4.5.27.0 built by: FX453PREVIEWREL 11/7/2014 6:07 72930000-72FEA000 [20564] nCrunch.BuildHost453.x86.exe [1] nCrunch.BuildHost453.x86.exe
mscorlib.dll C:\WINDOWS\Microsoft.Net\assembly\GAC_32\mscorlib\v4.0_4.0.0.0__b77a5c561934e089\mscorlib.dll Yes No Skipped loading symbols. 7 4.5.27.0 built by: FX453PREVIEWREL 11/7/2014 5:55 73AB0000-74B98000 [20564] nCrunch.BuildHost453.x86.exe [2] nCrunch.TestRunner.AppDomain_0987bf5608334b669a995f9661746a92
nCrunch.TaskRunner.dll C:\Program Files (x86)\Microsoft Visual Studio 14.0\Common7\IDE\Extensions\Remco Software\NCrunch for Visual Studio 2015\nCrunch.TaskRunner.dll Yes No Binary was not built with debug information. 8 2.12.0.2 1/26/2015 17:15 02360000-02370000 [20564] nCrunch.BuildHost453.x86.exe [2] nCrunch.TestRunner.AppDomain_0987bf5608334b669a995f9661746a92
nCrunch.Common.dll C:\Program Files (x86)\Microsoft Visual Studio 14.0\Common7\IDE\Extensions\Remco Software\NCrunch for Visual Studio 2015\nCrunch.Common.dll Yes No Binary was not built with debug information. 9 2.12.0.2 1/26/2015 17:15 047C0000-047E6000 [20564] nCrunch.BuildHost453.x86.exe [2] nCrunch.TestRunner.AppDomain_0987bf5608334b669a995f9661746a92
System.Core.dll C:\WINDOWS\Microsoft.Net\assembly\GAC_MSIL\System.Core\v4.0_4.0.0.0__b77a5c561934e089\System.Core.dll Yes No Skipped loading symbols. 10 4.5.27.0 built by: FX453PREVIEWREL 11/7/2014 6:07 04A50000-04B86000 [20564] nCrunch.BuildHost453.x86.exe [2] nCrunch.TestRunner.AppDomain_0987bf5608334b669a995f9661746a92
nCrunch.Compiler.dll C:\Program Files (x86)\Microsoft Visual Studio 14.0\Common7\IDE\Extensions\Remco Software\NCrunch for Visual Studio 2015\nCrunch.Compiler.dll Yes No Binary was not built with debug information. 11 2.12.0.2 1/26/2015 17:15 04D00000-04D2E000 [20564] nCrunch.BuildHost453.x86.exe [2] nCrunch.TestRunner.AppDomain_0987bf5608334b669a995f9661746a92
System.dll C:\WINDOWS\Microsoft.Net\assembly\GAC_MSIL\System\v4.0_4.0.0.0__b77a5c561934e089\System.dll Yes No Skipped loading symbols. 12 4.5.27.0 built by: FX453PREVIEWREL 11/7/2014 6:07 05090000-053E2000 [20564] nCrunch.BuildHost453.x86.exe [2] nCrunch.TestRunner.AppDomain_0987bf5608334b669a995f9661746a92
nCrunch.TestExecution.dll C:\Program Files (x86)\Microsoft Visual Studio 14.0\Common7\IDE\Extensions\Remco Software\NCrunch for Visual Studio 2015\nCrunch.TestExecution.dll Yes No Binary was not built with debug information. 13 2.12.0.2 1/26/2015 17:15 04D90000-04DAE000 [20564] nCrunch.BuildHost453.x86.exe [2] nCrunch.TestRunner.AppDomain_0987bf5608334b669a995f9661746a92
nCrunch.Reflection.dll C:\Program Files (x86)\Microsoft Visual Studio 14.0\Common7\IDE\Extensions\Remco Software\NCrunch for Visual Studio 2015\nCrunch.Reflection.dll Yes No Binary was not built with debug information. 14 2.12.0.2 1/26/2015 17:15 04DB0000-04DC8000 [20564] nCrunch.BuildHost453.x86.exe [2] nCrunch.TestRunner.AppDomain_0987bf5608334b669a995f9661746a92
nCrunch.Module.Gallio.dll C:\Program Files (x86)\Microsoft Visual Studio 14.0\Common7\IDE\Extensions\Remco Software\NCrunch for Visual Studio 2015\nCrunch.Module.Gallio.dll Yes No Skipped loading symbols. 15 2.12.0.2 1/26/2015 17:18 04F50000-04F5E000 [20564] nCrunch.BuildHost453.x86.exe [2] nCrunch.TestRunner.AppDomain_0987bf5608334b669a995f9661746a92
nCrunch.VSIntegration2015.dll C:\Program Files (x86)\Microsoft Visual Studio 14.0\Common7\IDE\Extensions\Remco Software\NCrunch for Visual Studio 2015\nCrunch.VSIntegration2015.dll Yes No Skipped loading symbols. 16 2.12.0.2 1/26/2015 17:18 04F70000-04F80000 [20564] nCrunch.BuildHost453.x86.exe [2] nCrunch.TestRunner.AppDomain_0987bf5608334b669a995f9661746a92
Microsoft.Build.dll C:\WINDOWS\Microsoft.Net\assembly\GAC_MSIL\Microsoft.Build\v4.0_14.0.0.0__b03f5f7f11d50a3a\Microsoft.Build.dll Yes No Skipped loading symbols. 17 14.0.22310.1 built by: DP 11/10/2014 2:17 05570000-056E4000 [20564] nCrunch.BuildHost453.x86.exe [2] nCrunch.TestRunner.AppDomain_0987bf5608334b669a995f9661746a92
System.Xml.dll C:\WINDOWS\Microsoft.Net\assembly\GAC_MSIL\System.Xml\v4.0_4.0.0.0__b77a5c561934e089\System.Xml.dll Yes No Skipped loading symbols. 18 4.5.27.0 built by: FX453PREVIEWREL 11/7/2014 6:07 05990000-05C22000 [20564] nCrunch.BuildHost453.x86.exe [2] nCrunch.TestRunner.AppDomain_0987bf5608334b669a995f9661746a92
Microsoft.Build.Framework.dll C:\WINDOWS\Microsoft.Net\assembly\GAC_MSIL\Microsoft.Build.Framework\v4.0_14.0.0.0__b03f5f7f11d50a3a\Microsoft.Build.Framework.dll Yes No Skipped loading symbols. 19 14.0.22310.1 built by: DP 11/10/2014 2:17 05040000-0505A000 [20564] nCrunch.BuildHost453.x86.exe [2] nCrunch.TestRunner.AppDomain_0987bf5608334b669a995f9661746a92
System.Configuration.dll C:\WINDOWS\Microsoft.Net\assembly\GAC_MSIL\System.Configuration\v4.0_4.0.0.0__b03f5f7f11d50a3a\System.Configuration.dll Yes No Skipped loading symbols. 20 4.5.27.0 built by: FX453PREVIEWREL 11/7/2014 6:07 05460000-054C2000 [20564] nCrunch.BuildHost453.x86.exe [2] nCrunch.TestRunner.AppDomain_0987bf5608334b669a995f9661746a92
Microsoft.Build.Utilities.Core.dll C:\WINDOWS\Microsoft.Net\assembly\GAC_MSIL\Microsoft.Build.Utilities.Core\v4.0_14.0.0.0__b03f5f7f11d50a3a\Microsoft.Build.Utilities.Core.dll Yes No Skipped loading symbols. 21 14.0.22310.1 built by: DP 11/10/2014 2:17 05750000-057AC000 [20564] nCrunch.BuildHost453.x86.exe [2] nCrunch.TestRunner.AppDomain_0987bf5608334b669a995f9661746a92
System.Threading.Tasks.Dataflow.dll C:\WINDOWS\Microsoft.Net\assembly\GAC_MSIL\System.Threading.Tasks.Dataflow\v4.0_4.5.9.0__b03f5f7f11d50a3a\System.Threading.Tasks.Dataflow.dll Yes No Skipped loading symbols. 22 4.05.9.0 12/17/2012 20:57 5F720000-5F825000 [20564] nCrunch.BuildHost453.x86.exe [2] nCrunch.TestRunner.AppDomain_0987bf5608334b669a995f9661746a92
System.Threading.Tasks.dll C:\WINDOWS\Microsoft.Net\assembly\GAC_MSIL\System.Threading.Tasks\v4.0_4.0.0.0__b03f5f7f11d50a3a\System.Threading.Tasks.dll Yes No Skipped loading symbols. 23 4.00.30319.33440 8/5/2013 19:24 52400000-52405000 [20564] nCrunch.BuildHost453.x86.exe [2] nCrunch.TestRunner.AppDomain_0987bf5608334b669a995f9661746a92
System.Runtime.dll C:\WINDOWS\Microsoft.Net\assembly\GAC_MSIL\System.Runtime\v4.0_4.0.0.0__b03f5f7f11d50a3a\System.Runtime.dll Yes No Skipped loading symbols. 24 4.05.27.0 11/7/2014 6:28 52340000-52347000 [20564] nCrunch.BuildHost453.x86.exe [2] nCrunch.TestRunner.AppDomain_0987bf5608334b669a995f9661746a92
System.Diagnostics.Tracing.dll C:\WINDOWS\Microsoft.Net\assembly\GAC_MSIL\System.Diagnostics.Tracing\v4.0_4.0.0.0__b03f5f7f11d50a3a\System.Diagnostics.Tracing.dll Yes No Skipped loading symbols. 25 4.00.30319.33440 8/5/2013 19:24 0F520000-0F525000 [20564] nCrunch.BuildHost453.x86.exe [2] nCrunch.TestRunner.AppDomain_0987bf5608334b669a995f9661746a92
System.Collections.Concurrent.dll C:\WINDOWS\Microsoft.Net\assembly\GAC_MSIL\System.Collections.Concurrent\v4.0_4.0.0.0__b03f5f7f11d50a3a\System.Collections.Concurrent.dll Yes No Skipped loading symbols. 26 4.00.30319.33440 8/5/2013 19:24 0FE70000-0FE75000 [20564] nCrunch.BuildHost453.x86.exe [2] nCrunch.TestRunner.AppDomain_0987bf5608334b669a995f9661746a92
Microsoft.Build.Tasks.Core.dll C:\WINDOWS\Microsoft.Net\assembly\GAC_MSIL\Microsoft.Build.Tasks.Core\v4.0_14.0.0.0__b03f5f7f11d50a3a\Microsoft.Build.Tasks.Core.dll Yes No Skipped loading symbols. 27 14.0.22310.1 built by: DP 11/10/2014 2:17 06F30000-07064000 [20564] nCrunch.BuildHost453.x86.exe [2] nCrunch.TestRunner.AppDomain_0987bf5608334b669a995f9661746a92
System.Xml.Linq.dll C:\WINDOWS\Microsoft.Net\assembly\GAC_MSIL\System.Xml.Linq\v4.0_4.0.0.0__b77a5c561934e089\System.Xml.Linq.dll Yes No Skipped loading symbols. 28 4.0.30319.33440 built by: FX45W81RTMREL 8/5/2013 19:30 06EC0000-06EE8000 [20564] nCrunch.BuildHost453.x86.exe [2] nCrunch.TestRunner.AppDomain_0987bf5608334b669a995f9661746a92
Mono.Cecil.dll C:\Program Files (x86)\Microsoft Visual Studio 14.0\Common7\IDE\Extensions\Remco Software\NCrunch for Visual Studio 2015\Mono.Cecil.dll Yes No Skipped loading symbols. 29 2.12.0.2 1/26/2015 17:15 06940000-06988000 [20564] nCrunch.BuildHost453.x86.exe [2] nCrunch.TestRunner.AppDomain_0987bf5608334b669a995f9661746a92
Mono.Cecil.Pdb.dll C:\Program Files (x86)\Microsoft Visual Studio 14.0\Common7\IDE\Extensions\Remco Software\NCrunch for Visual Studio 2015\Mono.Cecil.Pdb.dll Yes No Skipped loading symbols. 30 2.12.0.2 1/26/2015 17:15 06920000-0693C000 [20564] nCrunch.BuildHost453.x86.exe [2] nCrunch.TestRunner.AppDomain_0987bf5608334b669a995f9661746a92
nCrunch.TestRuntime.dll C:\WINDOWS\assembly\GAC_MSIL\nCrunch.TestRuntime\2.12.0.2__01d101bf6f3e0aea\nCrunch.TestRuntime.dll Yes No Skipped loading symbols. 31 2.12.0.2 1/26/2015 17:15 06910000-06918000 [20564] nCrunch.BuildHost453.x86.exe [2] nCrunch.TestRunner.AppDomain_0987bf5608334b669a995f9661746a92
Gallio.dll C:\Program Files (x86)\Microsoft Visual Studio 14.0\Common7\IDE\Extensions\Remco Software\NCrunch for Visual Studio 2015\Gallio.dll Yes No Skipped loading symbols. 32 3.03.0.0 10/29/2013 1:24 07940000-07A6C000 [20564] nCrunch.BuildHost453.x86.exe [2] nCrunch.TestRunner.AppDomain_0987bf5608334b669a995f9661746a92
Gallio.XmlSerializers.dll C:\Program Files (x86)\Microsoft Visual Studio 14.0\Common7\IDE\Extensions\Remco Software\NCrunch for Visual Studio 2015\Gallio.XmlSerializers.dll Yes No Binary was not built with debug information. 33 0.00.0.0 10/29/2013 1:24 07EB0000-07ECE000 [20564] nCrunch.BuildHost453.x86.exe [2] nCrunch.TestRunner.AppDomain_0987bf5608334b669a995f9661746a92
System.Drawing.dll C:\WINDOWS\Microsoft.Net\assembly\GAC_MSIL\System.Drawing\v4.0_4.0.0.0__b03f5f7f11d50a3a\System.Drawing.dll Yes No Skipped loading symbols. 34 4.5.27.0 built by: FX453PREVIEWREL 11/7/2014 6:07 07F80000-08012000 [20564] nCrunch.BuildHost453.x86.exe [2] nCrunch.TestRunner.AppDomain_0987bf5608334b669a995f9661746a92
Gallio.XunitAdapterLatest.dll C:\Program Files (x86)\Microsoft Visual Studio 14.0\Common7\IDE\Extensions\Remco Software\NCrunch for Visual Studio 2015\Xunit\Latest\Gallio.XunitAdapterLatest.dll Yes No Skipped loading symbols. 35 0.00.0.0 10/29/2013 1:24 07F50000-07F5C000 [20564] nCrunch.BuildHost453.x86.exe [2] nCrunch.TestRunner.AppDomain_0987bf5608334b669a995f9661746a92
xunit.dll C:\Program Files (x86)\Microsoft Visual Studio 14.0\Common7\IDE\Extensions\Remco Software\NCrunch for Visual Studio 2015\Xunit\Latest\xunit.dll Yes No Skipped loading symbols. 36 1.09.2.1705 8/24/2013 14:25 08150000-08168000 [20564] nCrunch.BuildHost453.x86.exe [2] nCrunch.TestRunner.AppDomain_0987bf5608334b669a995f9661746a92
Microsoft.Cci.PeReader.dll C:\Program Files (x86)\Microsoft Visual Studio 14.0\Common7\IDE\Extensions\Remco Software\NCrunch for Visual Studio 2015\Microsoft.Cci.PeReader.dll No No Cannot find or open the PDB file. 37 2.00.8.17659 8/12/2010 2:56 08230000-082A0000 [20564] nCrunch.BuildHost453.x86.exe [2] nCrunch.TestRunner.AppDomain_0987bf5608334b669a995f9661746a92
Microsoft.Cci.MetadataHelper.dll C:\Program Files (x86)\Microsoft Visual Studio 14.0\Common7\IDE\Extensions\Remco Software\NCrunch for Visual Studio 2015\Microsoft.Cci.MetadataHelper.dll No No Cannot find or open the PDB file. 38 2.00.8.17659 8/12/2010 2:55 082A0000-082E6000 [20564] nCrunch.BuildHost453.x86.exe [2] nCrunch.TestRunner.AppDomain_0987bf5608334b669a995f9661746a92
Microsoft.Cci.MetadataModel.dll C:\Program Files (x86)\Microsoft Visual Studio 14.0\Common7\IDE\Extensions\Remco Software\NCrunch for Visual Studio 2015\Microsoft.Cci.MetadataModel.dll No No Cannot find or open the PDB file. 39 2.00.8.17659 8/12/2010 2:55 081C0000-081EE000 [20564] nCrunch.BuildHost453.x86.exe [2] nCrunch.TestRunner.AppDomain_0987bf5608334b669a995f9661746a92
Microsoft.Cci.PdbReader.dll C:\Program Files (x86)\Microsoft Visual Studio 14.0\Common7\IDE\Extensions\Remco Software\NCrunch for Visual Studio 2015\Microsoft.Cci.PdbReader.dll No No Cannot find or open the PDB file. 40 2.00.8.17659 8/12/2010 2:56 081F0000-08208000 [20564] nCrunch.BuildHost453.x86.exe [2] nCrunch.TestRunner.AppDomain_0987bf5608334b669a995f9661746a92
Microsoft.Cci.SourceModel.dll C:\Program Files (x86)\Microsoft Visual Studio 14.0\Common7\IDE\Extensions\Remco Software\NCrunch for Visual Studio 2015\Microsoft.Cci.SourceModel.dll No No Cannot find or open the PDB file. 41 2.00.8.17659 8/12/2010 2:56 08210000-08222000 [20564] nCrunch.BuildHost453.x86.exe [2] nCrunch.TestRunner.AppDomain_0987bf5608334b669a995f9661746a92
PresentationBuildTasks.dll C:\WINDOWS\Microsoft.Net\assembly\GAC_MSIL\PresentationBuildTasks\v4.0_4.0.0.0__31bf3856ad364e35\PresentationBuildTasks.dll Yes No Skipped loading symbols. 42 4.5.27.0 built by: FX453PREVIEWREL 11/7/2014 6:31 0A960000-0A9F6000 [20564] nCrunch.BuildHost453.x86.exe [2] nCrunch.TestRunner.AppDomain_0987bf5608334b669a995f9661746a92
Microsoft.Build.Utilities.v4.0.dll C:\WINDOWS\Microsoft.Net\assembly\GAC_MSIL\Microsoft.Build.Utilities.v4.0\v4.0_4.0.0.0__b03f5f7f11d50a3a\Microsoft.Build.Utilities.v4.0.dll Yes No Skipped loading symbols. 43 4.0.30319.33440 built by: FX45W81RTMREL 8/5/2013 23:17 0A910000-0A954000 [20564] nCrunch.BuildHost453.x86.exe [2] nCrunch.TestRunner.AppDomain_0987bf5608334b669a995f9661746a92
System.Windows.Forms.dll C:\WINDOWS\Microsoft.Net\assembly\GAC_MSIL\System.Windows.Forms\v4.0_4.0.0.0__b77a5c561934e089\System.Windows.Forms.dll Yes No Skipped loading symbols. 44 4.5.27.0 built by: FX453PREVIEWREL 11/7/2014 6:06 0C6D0000-0CB74000 [20564] nCrunch.BuildHost453.x86.exe [2] nCrunch.TestRunner.AppDomain_0987bf5608334b669a995f9661746a92
PostSharp.MSBuild.v4.0.36.Release.dll C:\ProgramData\PostSharp\4.0.36\bin.Release\PostSharp.MSBuild.v4.0.36.Release.dll Yes No Skipped loading symbols. 45 4.00.36.0 11/14/2014 13:29 0AD10000-0AD2A000 [20564] nCrunch.BuildHost453.x86.exe [2] nCrunch.TestRunner.AppDomain_0987bf5608334b669a995f9661746a92
Microsoft.GeneratedCode Microsoft.GeneratedCode Yes No Binary was not built with debug information. 46 [20564] nCrunch.BuildHost453.x86.exe [2] nCrunch.TestRunner.AppDomain_0987bf5608334b669a995f9661746a92
System.Data.SqlXml.dll C:\WINDOWS\Microsoft.Net\assembly\GAC_MSIL\System.Data.SqlXml\v4.0_4.0.0.0__b77a5c561934e089\System.Data.SqlXml.dll Yes No Skipped loading symbols. 47 4.5.27.0 built by: FX453PREVIEWREL 11/7/2014 6:06 0AFC0000-0B076000 [20564] nCrunch.BuildHost453.x86.exe [2] nCrunch.TestRunner.AppDomain_0987bf5608334b669a995f9661746a92
System.Xml.Xsl.CompiledQuery.1 System.Xml.Xsl.CompiledQuery.1 Yes No Binary was not built with debug information. 48 [20564] nCrunch.BuildHost453.x86.exe [2] nCrunch.TestRunner.AppDomain_0987bf5608334b669a995f9661746a92
Microsoft.GeneratedCode Microsoft.GeneratedCode Yes No Binary was not built with debug information. 49 [20564] nCrunch.BuildHost453.x86.exe [2] nCrunch.TestRunner.AppDomain_0987bf5608334b669a995f9661746a92


Thanks,
Paul
Also, is the grid server for version 2.11.0.12 still available for download somewhere? I can only find 2.11.0.23 and 2.12.0.2, neither of which work for me at the moment.

Thanks,
Paul
Hi Paul,

Thanks for sharing these details. I haven't yet been able to reproduce this issue, but I feel there is a good chance I can fix it speculatively. I've prepared a new build including a fix. Give it a try and let me know how you go:

http://downloads.ncrunch.net/NCrunch_Console_2.13.0.1.msi
http://downloads.ncrunch.net/NCrunch_Console_2.13.0.1.zip
http://downloads.ncrunch.net/NCrunch_GridNodeServer_2.13.0.1.msi
http://downloads.ncrunch.net/NCrunch_GridNodeServer_2.13.0.1.zip
http://downloads.ncrunch.net/NCrunch_VS2008_2.13.0.1.msi
http://downloads.ncrunch.net/NCrunch_VS2010_2.13.0.1.msi
http://downloads.ncrunch.net/NCrunch_VS2010_2.13.0.1.zip
http://downloads.ncrunch.net/NCrunch_VS2012_2.13.0.1.msi
http://downloads.ncrunch.net/NCrunch_VS2012_2.13.0.1.zip
http://downloads.ncrunch.net/NCrunch_VS2013_2.13.0.1.msi
http://downloads.ncrunch.net/NCrunch_VS2013_2.13.0.1.zip
http://downloads.ncrunch.net/NCrunch_VS2015_2.13.0.1.msi
http://downloads.ncrunch.net/NCrunch_VS2015_2.13.0.1.zip

v2.11.0.12 was/is a development build, so it isn't listed on the download page .. though it is still available. Here are the download links:

http://downloads.ncrunch.net/NCrunch_Console_2.11.0.12.msi
http://downloads.ncrunch.net/NCrunch_Console_2.11.0.12.zip
http://downloads.ncrunch.net/NCrunch_GridNodeServer_2.11.0.12.msi
http://downloads.ncrunch.net/NCrunch_GridNodeServer_2.11.0.12.zip
http://downloads.ncrunch.net/NCrunch_VS2008_2.11.0.12.msi
http://downloads.ncrunch.net/NCrunch_VS2010_2.11.0.12.msi
http://downloads.ncrunch.net/NCrunch_VS2010_2.11.0.12.zip
http://downloads.ncrunch.net/NCrunch_VS2012_2.11.0.12.msi
http://downloads.ncrunch.net/NCrunch_VS2012_2.11.0.12.zip
http://downloads.ncrunch.net/NCrunch_VS2013_2.11.0.12.msi
http://downloads.ncrunch.net/NCrunch_VS2013_2.11.0.12.zip
http://downloads.ncrunch.net/NCrunch_VS2015_2.11.0.12.msi
http://downloads.ncrunch.net/NCrunch_VS2015_2.11.0.12.zip

Can you share any more details about the problem you're having with the grid nodes? This is a concern as we should be able to get you on the latest version.


Cheers,

Remco
Hi Remco,

Thanks for the updated build, I'll give it a try shortly. Also, regarding the grid nodes issue, I mean to say that the grid node is experiencing the same build issues related to that Mono.Cecil.Pdb.dll as the local test runner. I don't think there is anything else wrong with the grid node itself.

Thanks,
Paul
So I'm trying the new bits and have a similar but different error than before.

The stack trace in the test runner is as follows:

Gallio.Model.ModelException: An exception occurred while invoking a test driver. ---> Microsoft.Cci.Pdb.PdbDebugException: Unknown custom metadata item version: 2
at Microsoft.Cci.Pdb.PdbFunction.ReadCustomMetadata(BitAccess bits)
at Microsoft.Cci.Pdb.PdbFunction..ctor(ManProcSym proc, BitAccess bits)
at Microsoft.Cci.Pdb.PdbFunction.LoadManagedFunctions(BitAccess bits, UInt32 limit, Boolean readStrings)
at Microsoft.Cci.Pdb.PdbFile.LoadFuncsFromDbiModule(BitAccess bits, DbiModuleInfo info, IntHashTable names, ArrayList funcList, Boolean readStrings, MsfDirectory dir, Dictionary`2 nameIndex, PdbReader reader)
at Microsoft.Cci.Pdb.PdbFile.LoadFunctions(Stream read, BitAccess bits, Boolean readAllStrings)
at Microsoft.Cci.Pdb.PdbFile.LoadFunctions(Stream read, Boolean readAllStrings)
at Microsoft.Cci.PdbReader..ctor(Stream pdbStream, IMetadataHost host)
at Gallio.Common.Reflection.Impl.CciModuleCache.FeedMap()
at Gallio.Common.Reflection.Impl.CciModuleCache..ctor(IFileSystem fileSystem, String assemblyPath)
at Gallio.Common.Reflection.Impl.CciDebugSymbolResolver.GetSourceLocationForMethod(String assemblyPath, Int32 methodToken)
at Gallio.Common.Reflection.Impl.CecilReflectionPolicy.GetMethodSourceLocation(MethodDefinition methodDefinition)
at Gallio.Common.Reflection.Impl.CecilReflectionPolicy.GuessTypeSourceLocation(TypeDefinition typeDefinition)
at Gallio.Common.Reflection.Impl.CecilReflectionPolicy.GetMemberSourceLocation(StaticMemberWrapper member)
at Gallio.Common.Reflection.Impl.StaticMemberWrapper.<GetCodeLocation>b__15()
at Gallio.Common.Memoizer`1.Memoize(Func`1 populator)
at Gallio.Common.Reflection.Impl.StaticMemberWrapper.GetCodeLocation()
at Gallio.Model.Schema.TestComponentData..ctor(TestComponent source)
at Gallio.Model.Schema.TestData..ctor(Test source, Boolean nonRecursive)
at Gallio.Model.Messages.TestModelSerializer.PublishTestModel(TestModel testModel, IMessageSink messageSink)
at Gallio.Model.Helpers.SimpleTestDriver.GenerateTestModel(IReflectionPolicy reflectionPolicy, IEnumerable`1 codeElements, IMessageSink messageSink)
at Gallio.Model.Helpers.SimpleTestDriver.DescribeImpl(IReflectionPolicy reflectionPolicy, IList`1 codeElements, TestExplorationOptions testExplorationOptions, IMessageSink messageSink, IProgressMonitor progressMonitor)
at Gallio.Model.BaseTestDriver.Describe(IReflectionPolicy reflectionPolicy, IList`1 codeElements, TestExplorationOptions testExplorationOptions, IMessageSink messageSink, IProgressMonitor progressMonitor)
at Gallio.Model.DefaultTestFrameworkManager.FilteredTestDriver.<>c__DisplayClass17.<DescribeImpl>b__15(ITestDriver driver, IList`1 items, Int32 driverCount)
at Gallio.Model.DefaultTestFrameworkManager.FilteredTestDriver.ForEachDriver[T](MultiMap`2 testFrameworkPartitions, Func`4 func)
--- End of inner exception stack trace ---
at Gallio.Model.DefaultTestFrameworkManager.FilteredTestDriver.ForEachDriver[T](MultiMap`2 testFrameworkPartitions, Func`4 func)
at Gallio.Model.DefaultTestFrameworkManager.FilteredTestDriver.DescribeImpl(IReflectionPolicy reflectionPolicy, IList`1 codeElements, TestExplorationOptions testExplorationOptions, IMessageSink messageSink, IProgressMonitor progressMonitor)
at Gallio.Model.BaseTestDriver.Describe(IReflectionPolicy reflectionPolicy, IList`1 codeElements, TestExplorationOptions testExplorationOptions, IMessageSink messageSink, IProgressMonitor progressMonitor)
at nCrunch.Module.Gallio.Integration.GallioWrapper.FindFrameworkTestsInAssembly(ReflectedAssembly assembly, FilePath assemblyFilePath, IList`1 referencedAssemblyFilePaths)
at nCrunch.Module.Gallio.Integration.GallioTestFramework.FindFrameworkTestsInAssembly(ReflectedAssembly assembly, FilePath assemblyFilePath, IList`1 referencedAssemblyFilePaths, ComponentUniqueName testComponentUniqueName)
at nCrunch.TestExecution.TestFinder.FindTestsForFrameworks(ReflectedAssembly assembly, FilePath assemblyFilePath, IList`1 referencedAssemblyFilePaths, TestFrameworkDescription[] frameworks, ComponentUniqueName testComponentUniqueName)
at nCrunch.Compiler.StaticManipulation.BuiltAssembly.DiscoverTests(TestFrameworkDescription[] applicableTestFrameworks, ComponentUniqueName testComponentUniqueName)
at nCrunch.Compiler.RemoteBuildRunner.(ComponentBuildParameters , FilePath , BuildOutput , DirectoryPath[] , FilePath[] )
at nCrunch.Compiler.RemoteBuildRunner.Build(ComponentBuildParameters parameters)


Thanks,
Paul
So I've dug into one of the projects that is failing and found some strange behavior. This is the code that breaks the build below. There used to be code in the body of the method but the build fails even with all the code removed.

public class Test1
{
[Fact]
public void TestUnapprove()
{
}
}

If I simply remove the [Fact] xunit attribute, the code builds fine. This is the only xunit test in this project. There are other tests in the project buy they are MSTest unit tests.

Do you think that using MSTest and xunit in the same project is causing this issue? It build without problem in 2.11.0.12.

Thanks,
Paul
And I have another project failing to build with the same stack trace as above. It is a test project with one class with one method. It is an xunit unit test and there are no MSTest unit tests in the project. If I remove the Fact attribute then the project builds successfully. So it appears to have nothing to do with MSTest and might really only be about xunit. I am using xunit 1.9.2.1705 by the way.
Hi Paul,

Do you have a solution you can share with me that reproduces this issue? There is some very strange behaviour here that I'm having some trouble pinning down. The problem is definitely related to Gallio/xunit. You can submit code via the contact form - https://www.ncrunch.net/support/contact.


Cheers,

Remco
https://github.com/Code52/carnac has this issue when using VS2015 CTP and 2.12 have the issue.

2.13 has a different exception just like reported above. Hopefully that helps you track down the issue
Thanks Jake. The sample solution really helped with identifying this issue.

It looks like this is being caused by version clashing with Mono.Cecil. Mono.Cecil is used by NCrunch (for post-build instrumentation) and by Frody (for its IL weaving during build). NCrunch and Frody are both using different versions of this assembly, and this creates all kinds of problems. I am actually rather amazed that it hasn't failed earlier. It seems as though the debug metadata fixes in v2.11 finally introduced a large enough difference that everything came apart.

This will be a challenging issue to fix. I'll see what I can do about providing a proper solution. Meanwhile, I recommend working with the v2.11.0.12 build above, as this build doesn't include any of the metadata changes and should 'work' in the way that your build used to.
Ok - I have a fix now available for this issue. Give it a try and let me know how it goes :)

http://downloads.ncrunch.net/NCrunch_Console_2.13.0.4.msi
http://downloads.ncrunch.net/NCrunch_Console_2.13.0.4.zip
http://downloads.ncrunch.net/NCrunch_GridNodeServer_2.13.0.4.msi
http://downloads.ncrunch.net/NCrunch_GridNodeServer_2.13.0.4.zip
http://downloads.ncrunch.net/NCrunch_VS2008_2.13.0.4.msi
http://downloads.ncrunch.net/NCrunch_VS2010_2.13.0.4.msi
http://downloads.ncrunch.net/NCrunch_VS2010_2.13.0.4.zip
http://downloads.ncrunch.net/NCrunch_VS2012_2.13.0.4.msi
http://downloads.ncrunch.net/NCrunch_VS2012_2.13.0.4.zip
http://downloads.ncrunch.net/NCrunch_VS2013_2.13.0.4.msi
http://downloads.ncrunch.net/NCrunch_VS2013_2.13.0.4.zip
http://downloads.ncrunch.net/NCrunch_VS2015_2.13.0.4.msi
http://downloads.ncrunch.net/NCrunch_VS2015_2.13.0.4.zip
Nice. Carnac working nicely on VS2015 with that build.
I just tested that new build as well and it works here too. Sorry for dropping out of the thread after reporting.
Just wanted to add a +1 here that this version appears to fix a similar issue I was having on VS 2015 with the previous release. Thanks!
fehaar wrote:I am getting an exception when building my project. The error is posted below. The behavior is a regression from version 2.11.0.12 where everything works fine.

What further info can I give you to locate the error? Do you need the DLL and/or PDB?

Gallio.Model.ModelException: An exception occurred while invoking a test driver. ---> Microsoft.Cci.Pdb.PdbDebugException: Unknown custom metadata item kind: 6
at Microsoft.Cci.Pdb.PdbFunction.ReadCustomMetadata(BitAccess bits)
at Microsoft.Cci.Pdb.PdbFunction..ctor(ManProcSym proc, BitAccess bits)
at Microsoft.Cci.Pdb.PdbFunction.LoadManagedFunctions(BitAccess bits, UInt32 limit, Boolean readStrings)
at Microsoft.Cci.Pdb.PdbFile.LoadFuncsFromDbiModule(BitAccess bits, DbiModuleInfo info, IntHashTable names, ArrayList funcList, Boolean readStrings, MsfDirectory dir, Dictionary`2 nameIndex, PdbReader reader)
at Microsoft.Cci.Pdb.PdbFile.LoadFunctions(Stream read, BitAccess bits, Boolean readAllStrings)
at Microsoft.Cci.Pdb.PdbFile.LoadFunctions(Stream read, Boolean readAllStrings)
at Microsoft.Cci.PdbReader..ctor(Stream pdbStream, IMetadataHost host)
at Gallio.Common.Reflection.Impl.CciModuleCache.FeedMap()
at Gallio.Common.Reflection.Impl.CciModuleCache..ctor(IFileSystem fileSystem, String assemblyPath)
at Gallio.Common.Reflection.Impl.CciDebugSymbolResolver.GetSourceLocationForMethod(String assemblyPath, Int32 methodToken)
at Gallio.Common.Reflection.Impl.CecilReflectionPolicy.GetMethodSourceLocation(MethodDefinition methodDefinition)
at Gallio.Common.Reflection.Impl.CecilReflectionPolicy.GuessTypeSourceLocation(TypeDefinition typeDefinition)
at Gallio.Common.Reflection.Impl.CecilReflectionPolicy.GetMemberSourceLocation(StaticMemberWrapper member)
at Gallio.Common.Reflection.Impl.StaticMemberWrapper.<GetCodeLocation>b__15()
at Gallio.Common.Memoizer`1.Memoize(Func`1 populator)
at Gallio.Common.Reflection.Impl.StaticMemberWrapper.GetCodeLocation()
at Gallio.Model.Schema.TestComponentData..ctor(TestComponent source)
at Gallio.Model.Schema.TestData..ctor(Test source, Boolean nonRecursive)
at Gallio.Model.Messages.TestModelSerializer.PublishTestModel(TestModel testModel, IMessageSink messageSink)
at Gallio.Model.Helpers.SimpleTestDriver.GenerateTestModel(IReflectionPolicy reflectionPolicy, IEnumerable`1 codeElements, IMessageSink messageSink)
at Gallio.Model.Helpers.SimpleTestDriver.DescribeImpl(IReflectionPolicy reflectionPolicy, IList`1 codeElements, TestExplorationOptions testExplorationOptions, IMessageSink messageSink, IProgressMonitor progressMonitor)
at Gallio.Model.BaseTestDriver.Describe(IReflectionPolicy reflectionPolicy, IList`1 codeElements, TestExplorationOptions testExplorationOptions, IMessageSink messageSink, IProgressMonitor progressMonitor)
at Gallio.Model.DefaultTestFrameworkManager.FilteredTestDriver.<>c__DisplayClass17.<DescribeImpl>b__15(ITestDriver driver, IList`1 items, Int32 driverCount)
at Gallio.Model.DefaultTestFrameworkManager.FilteredTestDriver.ForEachDriver[T](MultiMap`2 testFrameworkPartitions, Func`4 func)
--- End of inner exception stack trace ---
at Gallio.Model.DefaultTestFrameworkManager.FilteredTestDriver.ForEachDriver[T](MultiMap`2 testFrameworkPartitions, Func`4 func)
at Gallio.Model.DefaultTestFrameworkManager.FilteredTestDriver.DescribeImpl(IReflectionPolicy reflectionPolicy, IList`1 codeElements, TestExplorationOptions testExplorationOptions, IMessageSink messageSink, IProgressMonitor progressMonitor)
at Gallio.Model.BaseTestDriver.Describe(IReflectionPolicy reflectionPolicy, IList`1 codeElements, TestExplorationOptions testExplorationOptions, IMessageSink messageSink, IProgressMonitor progressMonitor)
at nCrunch.Module.Gallio.Integration.GallioWrapper.FindFrameworkTestsInAssembly(ReflectedAssembly assembly, FilePath assemblyFilePath, IList`1 referencedAssemblyFilePaths)
at nCrunch.Module.Gallio.Integration.GallioTestFramework.FindFrameworkTestsInAssembly(ReflectedAssembly assembly, FilePath assemblyFilePath, IList`1 referencedAssemblyFilePaths, ComponentUniqueName testComponentUniqueName)
at nCrunch.TestExecution.TestFinder.FindTestsForFrameworks(ReflectedAssembly assembly, FilePath assemblyFilePath, IList`1 referencedAssemblyFilePaths, TestFrameworkDescription[] frameworks, ComponentUniqueName testComponentUniqueName)
at nCrunch.Compiler.StaticManipulation.BuiltAssembly.DiscoverTests(TestFrameworkDescription[] applicableTestFrameworks, ComponentUniqueName testComponentUniqueName)
at nCrunch.Compiler.RemoteBuildRunner.(ComponentBuildParameters , FilePath , BuildOutput , DirectoryPath[] , FilePath[] )
at nCrunch.Compiler.RemoteBuildRunner.Build(ComponentBuildParameters parameters)



Hi Guys,

We have the same problem in our project (mbUnit) with gallio exception on VS2015.
- Gallio.Model.ModelException: An exception occurred while invoking a test driver. ---> Microsoft.Cci.Pdb.PdbDebugException:

We really would like to move from VS2013 to VS2015, but right now its not possible due to this exception:/ Seems that you solve the issue, right ? Can you guide us how to fix it ?

Thanks,
Hi,

Thanks for sharing this issue.

Can you confirm which version of NCrunch you are running? If your problem is identical to the problem described above, this should have been fixed some time ago through a code fix to the version of Gallio packaged with NCrunch. It's possible you're hitting this problem if there is something in your environment that is resolving to the wrong version of Gallio at test discovery time.
Hi,

In fact it's not related to NCrunch but to Gallio itself. We are using Gallio for running mbUnit tests and getting this exception with VS2015 :/ We were trying to fix the issue in Gallio but we failed. Maybe you can share your solution or give us a hint how to resolve this issue?

Thanks,
Hi,

Sorry, this forum is targeted towards supporting NCrunch customers. As such, I can't provide support for other projects, but I can give you advice on this problem and how it can be solved.

The problem itself is in Microsoft.Cci, which is a library used by Gallio to read debug information from assemblies (i.e. while discovering tests). Gallio references a set of CCI assemblies that I believe are now very out of date. At the time these assemblies were packaged with Gallio, VS2015 and the Roslyn compiler didn't exist.

With the introduction of the Roslyn compiler, Microsoft introduced a minor change to the PDB file format to accommodate new debug metadata. This effectively broke all versions of CCI (I'm not sure at this stage if newer versions of this toolset have since been made available). The problem is visible in the PdbFunction.ReadCustomMetadata method in PdbFunction.cs of CCI - http://www.symbolsource.org/Public/Metadata/NuGet/Project/SymbolSource.Microsoft.Cci.Metadata/1.0.64355.3/Release/Default/Microsoft.Cci.PdbReader/Microsoft.Cci.PdbReader/PdbFunction.cs?ImageName=Microsoft.Cci.PdbReader.

To resolve this problem, you'll need to fix CCI to either consider or ignore the new PDB metadata elements, then rebuild it and retarget Gallio to use the fixed version.

Under NCrunch I was able to pursue a different method to fix this that just involved completely deactivating part of the Gallio codebase. Because NCrunch uses its own modified version of Mono.Cecil (which contains the CCI code already), the code simply wasn't necessary for test discovery. This approach likely won't be an option for you, but fixing CCI is just easier anyway.

Post a reply

Log in to reply.