Skip to content

CLI tool give MissingFieldException on Console app template #1729

@mgnslndh

Description

@mgnslndh

roslynator.dotnet.cli 0.12

When I run "Roslynator analyze" from the command line on a new solution based on the Console app template I get MissingFieldException. This works on Roslynator version 0.11

.\tools\roslynator.exe analyze C:\Users\X\source\repos\MissingInvalidPathChars\MissingInvalidPathChars.slnx -v diag
Roslynator Version: 0.12.0.0
Roslynator Target Framework: .NET Core
Roslyn Version: 4.14.0.0
Available MSBuild locations:
  .NET Core SDK, Version: 5.0.408, Path: C:\Program Files\dotnet\sdk\5.0.408
  .NET Core SDK, Version: 6.0.428, Path: C:\Program Files\dotnet\sdk\6.0.428
  .NET Core SDK, Version: 7.0.410, Path: C:\Program Files\dotnet\sdk\7.0.410
  .NET Core SDK, Version: 8.0.416, Path: C:\Program Files\dotnet\sdk\8.0.416
  .NET Core SDK, Version: 9.0.307, Path: C:\Program Files\dotnet\sdk\9.0.307
  .NET Core SDK, Version: 10.0.101, Path: C:\Program Files\dotnet\sdk\10.0.101
MSBuild location is 'C:\Program Files\dotnet\sdk\10.0.101'
Loading solution 'C:\Users\X\source\repos\MissingInvalidPathChars\MissingInvalidPathChars.slnx'...
System.AggregateException: One or more errors occurred. (The project file could not be loaded. System.MissingFieldException: Field not found: 'Microsoft.Build.Shared.MSBuildConstants.InvalidPathChars'.
   at Microsoft.Build.Construction.SolutionFile.ValidateProjectRelativePath(ProjectInSolution proj)
   at Microsoft.Build.Construction.SolutionFile.ReadProjects(SolutionModel solutionModel)
   at Microsoft.Build.Construction.SolutionFile.ReadSolutionModel(SolutionModel solutionModel)
   at Microsoft.Build.Construction.SolutionFile.ParseUsingNewParser()  C:\Users\X\source\repos\MissingInvalidPathChars\MissingInvalidPathChars.slnx)
 ---> Microsoft.Build.Exceptions.InvalidProjectFileException: The project file could not be loaded. System.MissingFieldException: Field not found: 'Microsoft.Build.Shared.MSBuildConstants.InvalidPathChars'.
   at Microsoft.Build.Construction.SolutionFile.ValidateProjectRelativePath(ProjectInSolution proj)
   at Microsoft.Build.Construction.SolutionFile.ReadProjects(SolutionModel solutionModel)
   at Microsoft.Build.Construction.SolutionFile.ReadSolutionModel(SolutionModel solutionModel)
   at Microsoft.Build.Construction.SolutionFile.ParseUsingNewParser()  C:\Users\X\source\repos\MissingInvalidPathChars\MissingInvalidPathChars.slnx
   at Microsoft.Build.Shared.ProjectFileErrorUtilities.VerifyThrowInvalidProjectFile(Boolean condition, String errorSubCategoryResourceName, BuildEventFileInfo projectFile, Exception innerException, String resourceName, Object[] args)
   at Microsoft.Build.Shared.ProjectFileErrorUtilities.ThrowInvalidProjectFile(BuildEventFileInfo projectFile, String resourceName, Object[] args)
   at Microsoft.Build.Construction.SolutionFile.ParseUsingNewParser()
   at Microsoft.Build.Construction.SolutionFile.Parse(String solutionFile)
   at Microsoft.CodeAnalysis.MSBuild.MSBuildProjectLoader.LoadSolutionInfoAsync(String solutionFilePath, IProgress`1 progress, ILogger msbuildLogger, CancellationToken cancellationToken)
   at Microsoft.CodeAnalysis.MSBuild.MSBuildWorkspace.OpenSolutionAsync(String solutionFilePath, ILogger msbuildLogger, IProgress`1 progress, CancellationToken cancellationToken)
   at Roslynator.CommandLine.MSBuildWorkspaceCommand`1.OpenProjectOrSolutionAsync(String path, MSBuildWorkspace workspace, IProgress`1 progress, CancellationToken cancellationToken) in /_/src/CommandLine/Commands/MSBuildWorkspaceCommand.cs:line 242
   at Roslynator.CommandLine.MSBuildWorkspaceCommand`1.ExecuteAsync(String path, MSBuildWorkspace workspace, CancellationToken cancellationToken) in /_/src/CommandLine/Commands/MSBuildWorkspaceCommand.cs:line 151
   at Roslynator.CommandLine.MSBuildWorkspaceCommand`1.ExecuteAsync(IEnumerable`1 paths, String msbuildPath, IEnumerable`1 properties) in /_/src/CommandLine/Commands/MSBuildWorkspaceCommand.cs:line 89
   at Roslynator.CommandLine.Program.AnalyzeAsync(AnalyzeCommandLineOptions options) in /_/src/CommandLine/Program.cs:line 346
   --- End of inner exception stack trace ---
   at System.Threading.Tasks.Task`1.GetResultCore(Boolean waitCompletionNotification)
   at Roslynator.CommandLine.Program.<>c.<Main>b__0_3(MSBuildCommandLineOptions options) in /_/src/CommandLine/Program.cs:line 175
   at CommandLine.ParserResultExtensions.MapResult[T1,T2,TResult](ParserResult`1 result, Func`2 parsedFunc1, Func`2 parsedFunc2, Func`2 notParsedFunc)
   at Roslynator.CommandLine.Program.Main(String[] args) in /_/src/CommandLine/Program.cs:line 169

What else can I do to give more context?

Metadata

Metadata

Assignees

No one assigned

    Labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions