Skip to main content

Azure Pipelines- Error parsing solution file

After installing the latest Visual Studio Build tools(17.7.2) on our build server, some of our (older) pipelines started to fail with the following error message:

##[error]The nuget command failed with exit code(1) and error

(System.AggregateException: One or more errors occurred. ---> NuGet.CommandLine.CommandLineException: Error parsing solution file at D:\b\3\_work\154\s\Source\Example.sln: Exception has been thrown by the target of an invocation.

NuGet Version: 4.1.0.2450

at NuGet.CommandLine.MsBuildUtility.GetAllProjectFileNamesWithMsBuild(String solutionFile, String msbuildPath)

MSBuild auto-detection: using msbuild version '17.7.2.37605' from 'C:\Program Files (x86)\Microsoft Visual Studio\2022\BuildTools\MSBuild\Current\bin'. Use option -MSBuildVersion to force nuget to use a specific version of MSBuild.

at NuGet.CommandLine.RestoreCommand.ProcessSolutionFile(String solutionFileFullPath, PackageRestoreInputs restoreInputs)

at NuGet.CommandLine.RestoreCommand.<DetermineRestoreInputsAsync>d__37.MoveNext()

--- End of stack trace from previous location where exception was thrown ---

at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw()

at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)

at NuGet.CommandLine.RestoreCommand.<ExecuteCommandAsync>d__30.MoveNext()

--- End of inner exception stack trace ---

at System.Threading.Tasks.Task.ThrowIfExceptional(Boolean includeTaskCanceledExceptions)

at System.Threading.Tasks.Task.Wait(Int32 millisecondsTimeout, CancellationToken cancellationToken)

at NuGet.CommandLine.Command.Execute()

at NuGet.CommandLine.Program.MainCore(String workingDirectory, String[] args)

---> (Inner Exception #0) NuGet.CommandLine.CommandLineException: Error parsing solution file at D:\b\3\_work\154\s\Source\VLM.DOG\VLM.DOG.sln: Exception has been thrown by the target of an invocation.

at NuGet.CommandLine.MsBuildUtility.GetAllProjectFileNamesWithMsBuild(String solutionFile, String msbuildPath)

at NuGet.CommandLine.RestoreCommand.ProcessSolutionFile(String solutionFileFullPath, PackageRestoreInputs restoreInputs)

at NuGet.CommandLine.RestoreCommand.<DetermineRestoreInputsAsync>d__37.MoveNext()

--- End of stack trace from previous location where exception was thrown ---

at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw()

at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Tas

I noticed in the stack trace above that an older NuGet version was used:

NuGet Version: 4.1.0.2450

Maybe that is causing issues? I introduced an extra build task in the pipeline that uses a newer NuGet version:

 


Yes! That solved the problem…