KirillOsenkov / MSBuildStructuredLog

A logger for MSBuild that records a structured representation of executed targets, tasks, property and item values.
MIT License
1.41k stars 188 forks source link

NullReferenceException when executing a Preprocess #749

Closed dfederm closed 5 months ago

dfederm commented 5 months ago

Hitting this when trying to preprocess a project.

Note that the MSBuild version is pretty old: MSBuild version = "17.3.1+2badb37d1" (customer repo, suggested they upgrade but can't control)

System.NullReferenceException: Object reference not set to an instance of an object.
   at StructuredLogViewer.PreprocessedFileManager.GetPreprocessedText(String sourceFilePath, String projectEvaluationContext) in C:\MSBuildStructuredLog\src\StructuredLogViewer.Core\PreprocessedFileManager.cs:line 183
   at StructuredLogViewer.PreprocessedFileManager.InjectImportedProject(String projectEvaluationContext, StringBuilder sb, ProjectImport import) in C:\MSBuildStructuredLog\src\StructuredLogViewer.Core\PreprocessedFileManager.cs:line 270
   at StructuredLogViewer.PreprocessedFileManager.GetPreprocessedTextCore(String projectEvaluationContext, SourceText sourceText, List`1 imports) in C:\MSBuildStructuredLog\src\StructuredLogViewer.Core\PreprocessedFileManager.cs:line 240
   at StructuredLogViewer.PreprocessedFileManager.GetPreprocessedText(String sourceFilePath, String projectEvaluationContext) in C:\MSBuildStructuredLog\src\StructuredLogViewer.Core\PreprocessedFileManager.cs:line 187
   at StructuredLogViewer.PreprocessedFileManager.InjectImportedProject(String projectEvaluationContext, StringBuilder sb, ProjectImport import) in C:\MSBuildStructuredLog\src\StructuredLogViewer.Core\PreprocessedFileManager.cs:line 270
   at StructuredLogViewer.PreprocessedFileManager.GetPreprocessedTextCore(String projectEvaluationContext, SourceText sourceText, List`1 imports) in C:\MSBuildStructuredLog\src\StructuredLogViewer.Core\PreprocessedFileManager.cs:line 240
   at StructuredLogViewer.PreprocessedFileManager.GetPreprocessedText(String sourceFilePath, String projectEvaluationContext) in C:\MSBuildStructuredLog\src\StructuredLogViewer.Core\PreprocessedFileManager.cs:line 187
   at StructuredLogViewer.PreprocessedFileManager.InjectImportedProject(String projectEvaluationContext, StringBuilder sb, ProjectImport import) in C:\MSBuildStructuredLog\src\StructuredLogViewer.Core\PreprocessedFileManager.cs:line 270
   at StructuredLogViewer.PreprocessedFileManager.GetPreprocessedTextCore(String projectEvaluationContext, SourceText sourceText, List`1 imports) in C:\MSBuildStructuredLog\src\StructuredLogViewer.Core\PreprocessedFileManager.cs:line 226
   at StructuredLogViewer.PreprocessedFileManager.GetPreprocessedText(String sourceFilePath, String projectEvaluationContext) in C:\MSBuildStructuredLog\src\StructuredLogViewer.Core\PreprocessedFileManager.cs:line 187
   at StructuredLogViewer.PreprocessedFileManager.ShowPreprocessed(String sourceFilePath, String projectContext) in C:\MSBuildStructuredLog\src\StructuredLogViewer.Core\PreprocessedFileManager.cs:line 329
   at StructuredLogViewer.Controls.BuildControl.<.ctor>b__43_28(Object s, RoutedEventArgs a) in C:\MSBuildStructuredLog\src\StructuredLogViewer\Controls\BuildControl.xaml.cs:line 231
   at System.Windows.EventRoute.InvokeHandlersImpl(Object source, RoutedEventArgs args, Boolean reRaised)
   at System.Windows.UIElement.RaiseEventImpl(DependencyObject sender, RoutedEventArgs args)
   at System.Windows.Controls.MenuItem.InvokeClickAfterRender(Object arg)
   at System.Windows.Threading.ExceptionWrapper.InternalRealCall(Delegate callback, Object args, Int32 numArgs)
   at System.Windows.Threading.ExceptionWrapper.TryCatchWhen(Object source, Delegate callback, Object args, Int32 numArgs, Delegate catchHandler)