Some projects in Avalonia fail to build with NCrunch using instrumentation mode: optimised. Logs have errors similar to the following:
ENGINE - [10:52:43.5599-CIL Task Processor-53] ERROR: System.Exception: Unable to instrument type CompiledAvaloniaXaml.!EmbeddedResource due to exception: System.Exception: Unable to instrument method System.Void CompiledAvaloniaXaml.!EmbeddedResource::Populate:Avalonia.Controls.DataGrid.Themes.Default.xaml(System.IServiceProvider, Avalonia.Styling.Styles) due to exception: System.IO.IOException: File path must be absolute with disk root: Avalonia.Controls.DataGrid.Themes.Default.xaml
at nCrunch.Common.IO.FilePath..ctor(String absoluteFilePath, Boolean isAbsoluteFilePathChecked)
at nCrunch.Compiler.NewStaticManipulation.InstrumentationConcerns.PrimaryInstrumentationConcern.InstrumentCurrentInstruction()
at nCrunch.Compiler.NewStaticManipulation.InstrumentationConcerns.PerformanceTrackingInstrumentationConcern.InstrumentCurrentInstruction()
at nCrunch.Compiler.NewStaticManipulation.BuiltCilAssembly.(CilManipulationOperation , CilMethodDefinition , CilTypeDefinition , CilMethodBody , Boolean )
at nCrunch.Compiler.NewStaticManipulation.BuiltCilAssembly.(CilTypeDefinition , CilManipulationOperation , IInstrumentationFilter[] )
at nCrunch.Compiler.NewStaticManipulation.BuiltCilAssembly.(CilTypeDefinition , CilManipulationOperation , IInstrumentationFilter[] )
at nCrunch.Compiler.NewStaticManipulation.BuiltCilAssembly..()
at nCrunch.Compiler.NewStaticManipulation.BuiltCilAssembly..()
at nCrunch.Common.PerformanceTracking.PerfTracker.TrackActivity(String name, Action activity)
at nCrunch.Compiler.NewStaticManipulation.BuiltCilAssembly..()
at nCrunch.Common.PerformanceTracking.PerfTracker.TrackActivity(String name, Action activity)
at nCrunch.Compiler.NewStaticManipulation.BuiltCilAssembly.Instrument(IInstrumentationFilter[] instrumentationFilters, PerfTracker perfTracker)
at nCrunch.Compiler.CilProcessingTasks.CilInstrumentationTask.ProcessTask(IBuiltAssembly builtAssembly, ComponentInstrumentationParameters instrumentationParameters, BuildOutput output)
at nCrunch.Compiler.CilProcessingTasks.ConcurrentCilTaskProcessor.()
You can reproduce the issue by cloning Avalonia.