Remco;14740 wrote:Hi, thanks for sharing this problem.
This looks to be caused by an oversight in our parsing of the code analysis ruleset file. It looks like your ruleset has a dependency specified using an absolute path (i.e. 'C:\Dev\Vie\Shared\SolutionItems\') as opposed to a relative path. At the time this code was introduced, we weren't aware that an absolute path was legit in this field.
Does replacing the absolute path with a relative one resolve your issue?
Hi Remco,
Unfortunately it's not working!
Out of curiosity why is the absolute path an issue when the .csproj contains no files, but when files are available everything is working fine?
We are using NCrunch and the CustomRules.dll (with an absolute path) for years now and I think I have never encountered this issue before.
I tried the following relative paths:
<RuleHintPaths>
<Path>CustomRules\Upper.FxCop.CustomRules.dll</Path>
</RuleHintPaths>
<RuleHintPaths>
<Path>.\CustomRules\Upper.FxCop.CustomRules.dll</Path>
</RuleHintPaths>
<RuleHintPaths>
<Path>..\SolutionItems\CustomRules\Upper.FxCop.CustomRules.dll</Path>
</RuleHintPaths>
Btw. We are using the optimised mode (but it's also happening with the "normal" one).
ENGINE - [06:45:18.3958-LocalBuildTask-36] ERROR (Internal): System.IndexOutOfRangeException: Index was outside the bounds of the array.
at nCrunch.Compiler.Cil.Symbols.Legacy.CilLegacyPdbDbiStream..ctor(CilAddress address, UInt32 totalStreamCount)
at nCrunch.Compiler.Cil.Symbols.Legacy.CilLegacySymbolsDataSource..ctor(Byte[] pdbFileContent, UInt32 entryPointToken)
at nCrunch.Compiler.Cil.CilAssembly.Load(FilePath assemblyFile, CilContext context)
at nCrunch.Compiler.Cil.CachedCilAssembly..ctor(FilePath assemblyFilePath, CilContext context, Boolean isInstrumentationTarget)
at nCrunch.Compiler.Cil.CilSession.LoadAssembly(FilePath assemblyFilePath, Boolean isInstrumentationTarget)
at nCrunch.Compiler.NewStaticManipulation.BuiltCilAssembly..ctor(FilePath builtAssemblyFilePath, IList`1 adjustedAssemblyReferences, Boolean instrumentForPerformanceMeasurement, ComponentInstrumentationParameters instrumentationParameters, ILogger logger)
at nCrunch.Compiler.RemoteBuildRunner..()
at nCrunch.Common.PerformanceTracking.PerfTracker.TrackActivity(String name, Action activity)
at nCrunch.Compiler.RemoteBuildRunner.(ComponentInstrumentationParameters , BuildOutput , IBackgroundTaskProcessor )
at nCrunch.Compiler.RemoteBuildRunner.PerformPostProcessingOfBuiltAssembly(ComponentInstrumentationParameters instrumentationParameters, BuildOutput output, IBackgroundTaskProcessor backgroundTaskProcessor)
at nCrunch.Core.BuildManagement.BuildEnvironment..()
at nCrunch.Common.PerformanceTracking.PerfTracker.TrackActivity(String name, Action activity)
at nCrunch.Core.BuildManagement.BuildEnvironment.Build(SnapshotComponent snapshotComponentToBuild, IList`1 referencedComponents, GridClientId gridClientId, IList`1 customEnvironmentVariables, IPlatformBuildExtender extender, Guid taskId, GridAddress clientAddress)
at nCrunch.Core.Processing.BuildTaskLogic.DoProcessTaskAndReturnSuccessFlag()
at nCrunch.Core.Processing.TaskLogic.ProcessTaskAndReturnSuccessFlag()
at nCrunch.Client.Processing.LocalProcessingTask.ProcessTaskAndReturnSuccessFlag()
at nCrunch.Client.Processing.ProcessingQueue..()
Br