Home: msbuild /t:restore minimal verbosity should be more minimal

Created on 27 Feb 2017  路  29Comments  路  Source: NuGet/Home

msbuild /t:restore /v:m ProjectSystem.sln

Expected: One line per project being restored, similar to every other minimal output from MSBuild
Actual:

  Restoring packages for E:\project-system\src\Dependencies\Json.net\Json.net.csproj...
  Restoring packages for E:\project-system\src\Dependencies\Moq.net\Moq.net.csproj...
  Restoring packages for E:\project-system\src\Dependencies\MSBuild\MSBuild.csproj...
  Restoring packages for E:\project-system\src\Dependencies\Immutable\Immutable.csproj...
  Restoring packages for E:\project-system\src\Dependencies\CPS\CPS.csproj...
  Restoring packages for E:\project-system\src\Dependencies\Metadata\Metadata.csproj...
  Restoring packages for E:\project-system\src\Dependencies\Composition\Composition.csproj...
  Restoring packages for E:\project-system\src\Dependencies\CoreFX\CoreFX.csproj...
  Lock file has not changed. Skipping lock file write. Path: E:\project-system\bin\obj\CoreFX\project.assets.json
  Restore completed in 248.29 ms for E:\project-system\src\Dependencies\CoreFX\CoreFX.csproj.
  Lock file has not changed. Skipping lock file write. Path: E:\project-system\bin\obj\Metadata\project.assets.json
  Restore completed in 248.81 ms for E:\project-system\src\Dependencies\Metadata\Metadata.csproj.
  Lock file has not changed. Skipping lock file write. Path: E:\project-system\bin\obj\CPS\project.assets.json
  Restore completed in 252.98 ms for E:\project-system\src\Dependencies\CPS\CPS.csproj.
  Lock file has not changed. Skipping lock file write. Path: E:\project-system\bin\obj\Immutable\project.assets.json
  Restore completed in 248.54 ms for E:\project-system\src\Dependencies\Immutable\Immutable.csproj.
  Lock file has not changed. Skipping lock file write. Path: E:\project-system\bin\obj\Json.net\project.assets.json
  Restore completed in 248.01 ms for E:\project-system\src\Dependencies\Json.net\Json.net.csproj.
  Lock file has not changed. Skipping lock file write. Path: E:\project-system\bin\obj\MSBuild\project.assets.json
  Lock file has not changed. Skipping lock file write. Path: E:\project-system\bin\obj\Moq.net\project.assets.json
  Restore completed in 248.47 ms for E:\project-system\src\Dependencies\Moq.net\Moq.net.csproj.
  Restore completed in 248.46 ms for E:\project-system\src\Dependencies\MSBuild\MSBuild.csproj.
  Restoring packages for E:\project-system\src\Dependencies\Roslyn\Roslyn.csproj...
  Restoring packages for E:\project-system\src\Dependencies\VisualStudio\VisualStudio.csproj...
  Restoring packages for E:\project-system\src\Dependencies\xUnit.net\xUnit.net.csproj...
  Lock file has not changed. Skipping lock file write. Path: E:\project-system\bin\obj\Composition\project.assets.json
  Restore completed in 248.5 ms for E:\project-system\src\Dependencies\Composition\Composition.csproj.
  Restoring packages for E:\project-system\src\Dependencies\Toolset\Toolset.csproj...
  Restoring packages for E:\project-system\src\DeployTestDependencies\DeployTestDependencies.csproj...
  Restoring packages for E:\project-system\src\Microsoft.VisualStudio.ProjectSystem.CSharp.UnitTests\Microsoft.VisualStudio.ProjectSystem.CSharp.UnitTests.csproj...
  Restoring packages for E:\project-system\src\Microsoft.VisualStudio.Editors\Microsoft.VisualStudio.Editors.vbproj...
  Restoring packages for E:\project-system\src\Microsoft.VisualStudio.AppDesigner\Microsoft.VisualStudio.AppDesigner.vbproj...
  Lock file has not changed. Skipping lock file write. Path: E:\project-system\bin\obj\xUnit.net\project.assets.json
  Restore completed in 49.02 ms for E:\project-system\src\Dependencies\xUnit.net\xUnit.net.csproj.
  Restoring packages for E:\project-system\src\Microsoft.VisualStudio.ProjectSystem.CSharp.VS.UnitTests\Microsoft.VisualStudio.ProjectSystem.CSharp.VS.UnitTests.csproj...
  Lock file has not changed. Skipping lock file write. Path: E:\project-system\bin\obj\VisualStudio\project.assets.json
  Restore completed in 169.81 ms for E:\project-system\src\Dependencies\VisualStudio\VisualStudio.csproj.
  Lock file has not changed. Skipping lock file write. Path: E:\project-system\bin\obj\Toolset\project.assets.json
  Restore completed in 162.98 ms for E:\project-system\src\Dependencies\Toolset\Toolset.csproj.
  Restoring packages for E:\project-system\src\Microsoft.VisualStudio.ProjectSystem.CSharp.VS\Microsoft.VisualStudio.ProjectSystem.CSharp.VS.csproj...
  Restoring packages for E:\project-system\src\Microsoft.VisualStudio.ProjectSystem.CSharp\Microsoft.VisualStudio.ProjectSystem.CSharp.csproj...
  Lock file has not changed. Skipping lock file write. Path: E:\project-system\bin\obj\Roslyn\project.assets.json
  Restore completed in 204.46 ms for E:\project-system\src\Dependencies\Roslyn\Roslyn.csproj.
  Restoring packages for E:\project-system\src\Microsoft.VisualStudio.ProjectSystem.Managed.TestServices.UnitTests\Microsoft.VisualStudio.ProjectSystem.Managed.TestServices.UnitTests.csproj...
  Lock file has not changed. Skipping lock file write. Path: E:\project-system\bin\obj\Microsoft.VisualStudio.ProjectSystem.CSharp.UnitTests\project.assets.json
  Restore completed in 310.05 ms for E:\project-system\src\Microsoft.VisualStudio.ProjectSystem.CSharp.UnitTests\Microsoft.VisualStudio.ProjectSystem.CSharp.UnitTests.csproj.
  Restoring packages for E:\project-system\src\Microsoft.VisualStudio.ProjectSystem.Managed.TestServices\Microsoft.VisualStudio.ProjectSystem.Managed.TestServices.csproj...
  Lock file has not changed. Skipping lock file write. Path: E:\project-system\bin\obj\Microsoft.VisualStudio.ProjectSystem.CSharp\project.assets.json
  Restore completed in 216.61 ms for E:\project-system\src\Microsoft.VisualStudio.ProjectSystem.CSharp\Microsoft.VisualStudio.ProjectSystem.CSharp.csproj.
  Restoring packages for E:\project-system\src\Microsoft.VisualStudio.ProjectSystem.Managed.UnitTests\Microsoft.VisualStudio.ProjectSystem.Managed.UnitTests.csproj...
  Lock file has not changed. Skipping lock file write. Path: E:\project-system\bin\obj\Microsoft.VisualStudio.Editors\project.assets.json
  Restore completed in 415.96 ms for E:\project-system\src\Microsoft.VisualStudio.Editors\Microsoft.VisualStudio.Editors.vbproj.
  Lock file has not changed. Skipping lock file write. Path: E:\project-system\bin\obj\Microsoft.VisualStudio.AppDesigner\project.assets.json
  Restore completed in 424.55 ms for E:\project-system\src\Microsoft.VisualStudio.AppDesigner\Microsoft.VisualStudio.AppDesigner.vbproj.
  Restoring packages for E:\project-system\src\Microsoft.VisualStudio.ProjectSystem.Managed.VS.UnitTests\Microsoft.VisualStudio.ProjectSystem.Managed.VS.UnitTests.csproj...
  Lock file has not changed. Skipping lock file write. Path: E:\project-system\bin\obj\Microsoft.VisualStudio.ProjectSystem.Managed.TestServices.UnitTests\project.assets.json
  Restore completed in 237.75 ms for E:\project-system\src\Microsoft.VisualStudio.ProjectSystem.Managed.TestServices.UnitTests\Microsoft.VisualStudio.ProjectSystem.Managed.TestServices.UnitTests.csproj.
  Restoring packages for E:\project-system\src\Microsoft.VisualStudio.ProjectSystem.Managed\Microsoft.VisualStudio.ProjectSystem.Managed.csproj...
  Restoring packages for E:\project-system\src\Microsoft.VisualStudio.ProjectSystem.Managed.VS\Microsoft.VisualStudio.ProjectSystem.Managed.VS.csproj...
  Lock file has not changed. Skipping lock file write. Path: E:\project-system\bin\obj\DeployTestDependencies\project.assets.json
  Restore completed in 527.35 ms for E:\project-system\src\DeployTestDependencies\DeployTestDependencies.csproj.
  Lock file has not changed. Skipping lock file write. Path: E:\project-system\bin\obj\Microsoft.VisualStudio.ProjectSystem.CSharp.VS.UnitTests\project.assets.json
  Restore completed in 483.53 ms for E:\project-system\src\Microsoft.VisualStudio.ProjectSystem.CSharp.VS.UnitTests\Microsoft.VisualStudio.ProjectSystem.CSharp.VS.UnitTests.csproj.
  Restoring packages for E:\project-system\src\Microsoft.VisualStudio.ProjectSystem.VisualBasic.UnitTests\Microsoft.VisualStudio.ProjectSystem.VisualBasic.UnitTests.csproj...
  Lock file has not changed. Skipping lock file write. Path: E:\project-system\bin\obj\Microsoft.VisualStudio.ProjectSystem.Managed.TestServices\project.assets.json
  Restore completed in 218.08 ms for E:\project-system\src\Microsoft.VisualStudio.ProjectSystem.Managed.TestServices\Microsoft.VisualStudio.ProjectSystem.Managed.TestServices.csproj.
  Restoring packages for E:\project-system\src\Microsoft.VisualStudio.ProjectSystem.VisualBasic.VS.UnitTests\Microsoft.VisualStudio.ProjectSystem.VisualBasic.VS.UnitTests.csproj...
  Restoring packages for E:\project-system\src\Microsoft.VisualStudio.ProjectSystem.VisualBasic.VS\Microsoft.VisualStudio.ProjectSystem.VisualBasic.VS.csproj...
  Lock file has not changed. Skipping lock file write. Path: E:\project-system\bin\obj\Microsoft.VisualStudio.ProjectSystem.CSharp.VS\project.assets.json
  Restore completed in 402.88 ms for E:\project-system\src\Microsoft.VisualStudio.ProjectSystem.CSharp.VS\Microsoft.VisualStudio.ProjectSystem.CSharp.VS.csproj.
  Restoring packages for E:\project-system\src\Microsoft.VisualStudio.ProjectSystem.VisualBasic\Microsoft.VisualStudio.ProjectSystem.VisualBasic.csproj...
  Lock file has not changed. Skipping lock file write. Path: E:\project-system\bin\obj\Microsoft.VisualStudio.ProjectSystem.Managed.UnitTests\project.assets.json
  Restore completed in 262.98 ms for E:\project-system\src\Microsoft.VisualStudio.ProjectSystem.Managed.UnitTests\Microsoft.VisualStudio.ProjectSystem.Managed.UnitTests.csproj.
  Lock file has not changed. Skipping lock file write. Path: E:\project-system\bin\obj\Microsoft.VisualStudio.ProjectSystem.Managed\project.assets.json
  Restore completed in 221.07 ms for E:\project-system\src\Microsoft.VisualStudio.ProjectSystem.Managed\Microsoft.VisualStudio.ProjectSystem.Managed.csproj.
  Restoring packages for E:\project-system\src\ProjectSystemDogfoodSetup\ProjectSystemDogfoodSetup.csproj...
  Restoring packages for E:\project-system\src\ProjectSystemSetup\ProjectSystemSetup.csproj...
  Lock file has not changed. Skipping lock file write. Path: E:\project-system\bin\obj\Microsoft.VisualStudio.ProjectSystem.VisualBasic.UnitTests\project.assets.json
  Restore completed in 277.43 ms for E:\project-system\src\Microsoft.VisualStudio.ProjectSystem.VisualBasic.UnitTests\Microsoft.VisualStudio.ProjectSystem.VisualBasic.UnitTests.csproj.
  Lock file has not changed. Skipping lock file write. Path: E:\project-system\bin\obj\Microsoft.VisualStudio.ProjectSystem.VisualBasic\project.assets.json
  Restore completed in 234.46 ms for E:\project-system\src\Microsoft.VisualStudio.ProjectSystem.VisualBasic\Microsoft.VisualStudio.ProjectSystem.VisualBasic.csproj.
  Restoring packages for E:\project-system\src\VisualStudioEditorsSetup\VisualStudioEditorsSetup.csproj...
  Lock file has not changed. Skipping lock file write. Path: E:\project-system\bin\obj\Microsoft.VisualStudio.ProjectSystem.Managed.VS\project.assets.json
  Restore completed in 425.98 ms for E:\project-system\src\Microsoft.VisualStudio.ProjectSystem.Managed.VS\Microsoft.VisualStudio.ProjectSystem.Managed.VS.csproj.
  Lock file has not changed. Skipping lock file write. Path: E:\project-system\bin\obj\Microsoft.VisualStudio.ProjectSystem.Managed.VS.UnitTests\project.assets.json
  Restore completed in 468.95 ms for E:\project-system\src\Microsoft.VisualStudio.ProjectSystem.Managed.VS.UnitTests\Microsoft.VisualStudio.ProjectSystem.Managed.VS.UnitTests.csproj.
  Lock file has not changed. Skipping lock file write. Path: E:\project-system\bin\obj\Microsoft.VisualStudio.ProjectSystem.VisualBasic.VS\project.assets.json
  Restore completed in 389.65 ms for E:\project-system\src\Microsoft.VisualStudio.ProjectSystem.VisualBasic.VS\Microsoft.VisualStudio.ProjectSystem.VisualBasic.VS.csproj.
  Lock file has not changed. Skipping lock file write. Path: E:\project-system\bin\obj\Microsoft.VisualStudio.ProjectSystem.VisualBasic.VS.UnitTests\project.assets.json
  Restore completed in 424.36 ms for E:\project-system\src\Microsoft.VisualStudio.ProjectSystem.VisualBasic.VS.UnitTests\Microsoft.VisualStudio.ProjectSystem.VisualBasic.VS.UnitTests.csproj.
  Lock file has not changed. Skipping lock file write. Path: E:\project-system\bin\obj\ProjectSystemSetup\project.assets.json
  Restore completed in 317.73 ms for E:\project-system\src\ProjectSystemSetup\ProjectSystemSetup.csproj.
  Lock file has not changed. Skipping lock file write. Path: E:\project-system\bin\obj\ProjectSystemDogfoodSetup\project.assets.json
  Restore completed in 354.67 ms for E:\project-system\src\ProjectSystemDogfoodSetup\ProjectSystemDogfoodSetup.csproj.
  Lock file has not changed. Skipping lock file write. Path: E:\project-system\bin\obj\VisualStudioEditorsSetup\project.assets.json
  Restore completed in 222.08 ms for E:\project-system\src\VisualStudioEditorsSetup\VisualStudioEditorsSetup.csproj.

  NuGet Config files used:
      E:\project-system\src\NuGet.Config
      C:\Users\davkean\AppData\Roaming\NuGet\NuGet.Config
      C:\Program Files (x86)\NuGet\Config\Microsoft.VisualStudio.Offline.config

  Feeds used:
      https://dotnet.myget.org/F/dotnet-core/api/v3/index.json
      https://dotnet.myget.org/F/roslyn-master-nightly/api/v3/index.json
      https://dotnet.myget.org/F/msbuild/api/v3/index.json
      https://dotnet.myget.org/F/nuget-build/api/v3/index.json
      https://dotnet.myget.org/F/roslyn-tools/api/v3/index.json

We explicitly have to switch _just_ restore to quiet to avoid the above noise. Previously our build log used to look like:

  Restoring packages for ProjectSystem
  Building ProjectSystem [Debug]
  Composition -> E:\project-system\bin\obj\Unused\Debug\Composition.dll
  xUnit.net -> E:\project-system\bin\obj\Unused\Debug\xUnit.net.dll
  Toolset -> E:\project-system\bin\obj\Unused\Debug\Toolset.dll
  CoreFX -> E:\project-system\bin\obj\Unused\Debug\CoreFX.dll
  Immutable -> E:\project-system\bin\obj\Unused\Debug\Immutable.dll
  Moq.net -> E:\project-system\bin\obj\Unused\Debug\Moq.net.dll
  Roslyn -> E:\project-system\bin\obj\Unused\Debug\Roslyn.dll
  Json.net -> E:\project-system\bin\obj\Unused\Debug\Json.net.dll
  MSBuild -> E:\project-system\bin\obj\Unused\Debug\MSBuild.dll
  Metadata -> E:\project-system\bin\obj\Unused\Debug\Metadata.dll
  CPS -> E:\project-system\bin\obj\Unused\Debug\CPS.dll
  VisualStudio -> E:\project-system\bin\obj\Unused\Debug\VisualStudio.dll
  Microsoft.VisualStudio.ProjectSystem.Managed.TestServices -> E:\project-system\bin\Debug\Tests\Microsoft.VisualStudio.ProjectSystem.Managed.TestServices.dll
  Microsoft.VisualStudio.AppDesigner -> E:\project-system\bin\Debug\Microsoft.VisualStudio.AppDesigner.dll
  Microsoft.VisualStudio.ProjectSystem.Managed -> E:\project-system\bin\Debug\Microsoft.VisualStudio.ProjectSystem.Managed.dll
  Microsoft.VisualStudio.Editors -> E:\project-system\bin\Debug\Microsoft.VisualStudio.Editors.dll
  Microsoft.VisualStudio.ProjectSystem.CSharp -> E:\project-system\bin\Debug\Microsoft.VisualStudio.ProjectSystem.CSharp.dll
  VisualStudioEditorsSetup -> E:\project-system\bin\Debug\VisualStudioEditorsSetup.dll
  VisualStudioEditorsSetup -> E:\project-system\bin\Debug\VisualStudioEditorsSetup.vsix
  Microsoft.VisualStudio.ProjectSystem.VisualBasic -> E:\project-system\bin\Debug\Microsoft.VisualStudio.ProjectSystem.VisualBasic.dll
  Microsoft.VisualStudio.ProjectSystem.Managed.VS -> E:\project-system\bin\Debug\Microsoft.VisualStudio.ProjectSystem.Managed.VS.dll
  Microsoft.VisualStudio.ProjectSystem.VisualBasic.VS -> E:\project-system\bin\Debug\Microsoft.VisualStudio.ProjectSystem.VisualBasic.VS.dll
  Microsoft.VisualStudio.ProjectSystem.CSharp.VS -> E:\project-system\bin\Debug\Microsoft.VisualStudio.ProjectSystem.CSharp.VS.dll
  ProjectSystemSetup -> E:\project-system\bin\Debug\ProjectSystem.dll
  DeployTestDependencies -> E:\project-system\bin\Debug\Tests\DeployTestDependencies.dll
  Microsoft.VisualStudio.ProjectSystem.Managed.UnitTests -> E:\project-system\bin\Debug\Tests\Microsoft.VisualStudio.ProjectSystem.Managed.UnitTests.dll
  Microsoft.VisualStudio.ProjectSystem.Managed.TestServices.UnitTests -> E:\project-system\bin\Debug\Tests\Microsoft.VisualStudio.ProjectSystem.Managed.TestServices.UnitTests.dll
  Microsoft.VisualStudio.ProjectSystem.VisualBasic.UnitTests -> E:\project-system\bin\Debug\Tests\Microsoft.VisualStudio.ProjectSystem.VisualBasic.UnitTests.dll
  Microsoft.VisualStudio.ProjectSystem.VisualBasic.VS.UnitTests -> E:\project-system\bin\Debug\Tests\Microsoft.VisualStudio.ProjectSystem.VisualBasic.VS.UnitTests.dll
  Microsoft.VisualStudio.ProjectSystem.Managed.VS.UnitTests -> E:\project-system\bin\Debug\Tests\Microsoft.VisualStudio.ProjectSystem.Managed.VS.UnitTests.dll
  ProjectSystemSetup -> E:\project-system\bin\Debug\ProjectSystem.vsix
  Microsoft.VisualStudio.ProjectSystem.CSharp.UnitTests -> E:\project-system\bin\Debug\Tests\Microsoft.VisualStudio.ProjectSystem.CSharp.UnitTests.dll
  Microsoft.VisualStudio.ProjectSystem.CSharp.VS.UnitTests -> E:\project-system\bin\Debug\Tests\Microsoft.VisualStudio.ProjectSystem.CSharp.VS.UnitTests.dll
  ProjectSystemDogfoodSetup -> E:\project-system\bin\Debug\ProjectSystemDogfoodSetup.dll
  ProjectSystemDogfoodSetup -> E:\project-system\bin\Debug\ProjectSystemDogfoodSetup.vsix
  Microsoft.VisualStudio.Editors\Microsoft.VisualStudio.Editors.nuspec -> E:\project-system\bin\Debug\NuGetPackages\Microsoft.VisualStudio.Editors.1.0.0-rc.nupkg'
  Microsoft.VisualStudio.AppDesigner\Microsoft.VisualStudio.AppDesigner.nuspec -> E:\project-system\bin\Debug\NuGetPackages\Microsoft.VisualStudio.AppDesigner.1.0.0-rc.nupkg'
  Microsoft.VisualStudio.ProjectSystem.Managed\Microsoft.VisualStudio.ProjectSystem.Managed.nuspec -> E:\project-system\bin\Debug\NuGetPackages\Microsoft.VisualStudio.ProjectSystem.Managed.1.0.0-rc.nupkg'
  Microsoft.VisualStudio.ProjectSystem.Managed.VS\Microsoft.VisualStudio.ProjectSystem.Managed.VS.nuspec -> E:\project-system\bin\Debug\NuGetPackages\Microsoft.VisualStudio.ProjectSystem.Managed.VS.1.0.0-rc.nupkg'
  Running tests for ProjectSystem [Debug]

Build completed successfully, for full log see E:\project-system\bin\Debug\Build.log

Now it looks like this:

  Restoring packages for ProjectSystem
  Restoring packages for E:\project-system\src\Dependencies\Json.net\Json.net.csproj...
  Restoring packages for E:\project-system\src\Dependencies\Moq.net\Moq.net.csproj...
  Restoring packages for E:\project-system\src\Dependencies\MSBuild\MSBuild.csproj...
  Restoring packages for E:\project-system\src\Dependencies\Immutable\Immutable.csproj...
  Restoring packages for E:\project-system\src\Dependencies\CPS\CPS.csproj...
  Restoring packages for E:\project-system\src\Dependencies\Metadata\Metadata.csproj...
  Restoring packages for E:\project-system\src\Dependencies\Composition\Composition.csproj...
  Restoring packages for E:\project-system\src\Dependencies\CoreFX\CoreFX.csproj...
  Lock file has not changed. Skipping lock file write. Path: E:\project-system\bin\obj\CoreFX\project.assets.json
  Restore completed in 248.29 ms for E:\project-system\src\Dependencies\CoreFX\CoreFX.csproj.
  Lock file has not changed. Skipping lock file write. Path: E:\project-system\bin\obj\Metadata\project.assets.json
  Restore completed in 248.81 ms for E:\project-system\src\Dependencies\Metadata\Metadata.csproj.
  Lock file has not changed. Skipping lock file write. Path: E:\project-system\bin\obj\CPS\project.assets.json
  Restore completed in 252.98 ms for E:\project-system\src\Dependencies\CPS\CPS.csproj.
  Lock file has not changed. Skipping lock file write. Path: E:\project-system\bin\obj\Immutable\project.assets.json
  Restore completed in 248.54 ms for E:\project-system\src\Dependencies\Immutable\Immutable.csproj.
  Lock file has not changed. Skipping lock file write. Path: E:\project-system\bin\obj\Json.net\project.assets.json
  Restore completed in 248.01 ms for E:\project-system\src\Dependencies\Json.net\Json.net.csproj.
  Lock file has not changed. Skipping lock file write. Path: E:\project-system\bin\obj\MSBuild\project.assets.json
  Lock file has not changed. Skipping lock file write. Path: E:\project-system\bin\obj\Moq.net\project.assets.json
  Restore completed in 248.47 ms for E:\project-system\src\Dependencies\Moq.net\Moq.net.csproj.
  Restore completed in 248.46 ms for E:\project-system\src\Dependencies\MSBuild\MSBuild.csproj.
  Restoring packages for E:\project-system\src\Dependencies\Roslyn\Roslyn.csproj...
  Restoring packages for E:\project-system\src\Dependencies\VisualStudio\VisualStudio.csproj...
  Restoring packages for E:\project-system\src\Dependencies\xUnit.net\xUnit.net.csproj...
  Lock file has not changed. Skipping lock file write. Path: E:\project-system\bin\obj\Composition\project.assets.json
  Restore completed in 248.5 ms for E:\project-system\src\Dependencies\Composition\Composition.csproj.
  Restoring packages for E:\project-system\src\Dependencies\Toolset\Toolset.csproj...
  Restoring packages for E:\project-system\src\DeployTestDependencies\DeployTestDependencies.csproj...
  Restoring packages for E:\project-system\src\Microsoft.VisualStudio.ProjectSystem.CSharp.UnitTests\Microsoft.VisualStudio.ProjectSystem.CSharp.UnitTests.csproj...
  Restoring packages for E:\project-system\src\Microsoft.VisualStudio.Editors\Microsoft.VisualStudio.Editors.vbproj...
  Restoring packages for E:\project-system\src\Microsoft.VisualStudio.AppDesigner\Microsoft.VisualStudio.AppDesigner.vbproj...
  Lock file has not changed. Skipping lock file write. Path: E:\project-system\bin\obj\xUnit.net\project.assets.json
  Restore completed in 49.02 ms for E:\project-system\src\Dependencies\xUnit.net\xUnit.net.csproj.
  Restoring packages for E:\project-system\src\Microsoft.VisualStudio.ProjectSystem.CSharp.VS.UnitTests\Microsoft.VisualStudio.ProjectSystem.CSharp.VS.UnitTests.csproj...
  Lock file has not changed. Skipping lock file write. Path: E:\project-system\bin\obj\VisualStudio\project.assets.json
  Restore completed in 169.81 ms for E:\project-system\src\Dependencies\VisualStudio\VisualStudio.csproj.
  Lock file has not changed. Skipping lock file write. Path: E:\project-system\bin\obj\Toolset\project.assets.json
  Restore completed in 162.98 ms for E:\project-system\src\Dependencies\Toolset\Toolset.csproj.
  Restoring packages for E:\project-system\src\Microsoft.VisualStudio.ProjectSystem.CSharp.VS\Microsoft.VisualStudio.ProjectSystem.CSharp.VS.csproj...
  Restoring packages for E:\project-system\src\Microsoft.VisualStudio.ProjectSystem.CSharp\Microsoft.VisualStudio.ProjectSystem.CSharp.csproj...
  Lock file has not changed. Skipping lock file write. Path: E:\project-system\bin\obj\Roslyn\project.assets.json
  Restore completed in 204.46 ms for E:\project-system\src\Dependencies\Roslyn\Roslyn.csproj.
  Restoring packages for E:\project-system\src\Microsoft.VisualStudio.ProjectSystem.Managed.TestServices.UnitTests\Microsoft.VisualStudio.ProjectSystem.Managed.TestServices.UnitTests.csproj...
  Lock file has not changed. Skipping lock file write. Path: E:\project-system\bin\obj\Microsoft.VisualStudio.ProjectSystem.CSharp.UnitTests\project.assets.json
  Restore completed in 310.05 ms for E:\project-system\src\Microsoft.VisualStudio.ProjectSystem.CSharp.UnitTests\Microsoft.VisualStudio.ProjectSystem.CSharp.UnitTests.csproj.
  Restoring packages for E:\project-system\src\Microsoft.VisualStudio.ProjectSystem.Managed.TestServices\Microsoft.VisualStudio.ProjectSystem.Managed.TestServices.csproj...
  Lock file has not changed. Skipping lock file write. Path: E:\project-system\bin\obj\Microsoft.VisualStudio.ProjectSystem.CSharp\project.assets.json
  Restore completed in 216.61 ms for E:\project-system\src\Microsoft.VisualStudio.ProjectSystem.CSharp\Microsoft.VisualStudio.ProjectSystem.CSharp.csproj.
  Restoring packages for E:\project-system\src\Microsoft.VisualStudio.ProjectSystem.Managed.UnitTests\Microsoft.VisualStudio.ProjectSystem.Managed.UnitTests.csproj...
  Lock file has not changed. Skipping lock file write. Path: E:\project-system\bin\obj\Microsoft.VisualStudio.Editors\project.assets.json
  Restore completed in 415.96 ms for E:\project-system\src\Microsoft.VisualStudio.Editors\Microsoft.VisualStudio.Editors.vbproj.
  Lock file has not changed. Skipping lock file write. Path: E:\project-system\bin\obj\Microsoft.VisualStudio.AppDesigner\project.assets.json
  Restore completed in 424.55 ms for E:\project-system\src\Microsoft.VisualStudio.AppDesigner\Microsoft.VisualStudio.AppDesigner.vbproj.
  Restoring packages for E:\project-system\src\Microsoft.VisualStudio.ProjectSystem.Managed.VS.UnitTests\Microsoft.VisualStudio.ProjectSystem.Managed.VS.UnitTests.csproj...
  Lock file has not changed. Skipping lock file write. Path: E:\project-system\bin\obj\Microsoft.VisualStudio.ProjectSystem.Managed.TestServices.UnitTests\project.assets.json
  Restore completed in 237.75 ms for E:\project-system\src\Microsoft.VisualStudio.ProjectSystem.Managed.TestServices.UnitTests\Microsoft.VisualStudio.ProjectSystem.Managed.TestServices.UnitTests.csproj.
  Restoring packages for E:\project-system\src\Microsoft.VisualStudio.ProjectSystem.Managed\Microsoft.VisualStudio.ProjectSystem.Managed.csproj...
  Restoring packages for E:\project-system\src\Microsoft.VisualStudio.ProjectSystem.Managed.VS\Microsoft.VisualStudio.ProjectSystem.Managed.VS.csproj...
  Lock file has not changed. Skipping lock file write. Path: E:\project-system\bin\obj\DeployTestDependencies\project.assets.json
  Restore completed in 527.35 ms for E:\project-system\src\DeployTestDependencies\DeployTestDependencies.csproj.
  Lock file has not changed. Skipping lock file write. Path: E:\project-system\bin\obj\Microsoft.VisualStudio.ProjectSystem.CSharp.VS.UnitTests\project.assets.json
  Restore completed in 483.53 ms for E:\project-system\src\Microsoft.VisualStudio.ProjectSystem.CSharp.VS.UnitTests\Microsoft.VisualStudio.ProjectSystem.CSharp.VS.UnitTests.csproj.
  Restoring packages for E:\project-system\src\Microsoft.VisualStudio.ProjectSystem.VisualBasic.UnitTests\Microsoft.VisualStudio.ProjectSystem.VisualBasic.UnitTests.csproj...
  Lock file has not changed. Skipping lock file write. Path: E:\project-system\bin\obj\Microsoft.VisualStudio.ProjectSystem.Managed.TestServices\project.assets.json
  Restore completed in 218.08 ms for E:\project-system\src\Microsoft.VisualStudio.ProjectSystem.Managed.TestServices\Microsoft.VisualStudio.ProjectSystem.Managed.TestServices.csproj.
  Restoring packages for E:\project-system\src\Microsoft.VisualStudio.ProjectSystem.VisualBasic.VS.UnitTests\Microsoft.VisualStudio.ProjectSystem.VisualBasic.VS.UnitTests.csproj...
  Restoring packages for E:\project-system\src\Microsoft.VisualStudio.ProjectSystem.VisualBasic.VS\Microsoft.VisualStudio.ProjectSystem.VisualBasic.VS.csproj...
  Lock file has not changed. Skipping lock file write. Path: E:\project-system\bin\obj\Microsoft.VisualStudio.ProjectSystem.CSharp.VS\project.assets.json
  Restore completed in 402.88 ms for E:\project-system\src\Microsoft.VisualStudio.ProjectSystem.CSharp.VS\Microsoft.VisualStudio.ProjectSystem.CSharp.VS.csproj.
  Restoring packages for E:\project-system\src\Microsoft.VisualStudio.ProjectSystem.VisualBasic\Microsoft.VisualStudio.ProjectSystem.VisualBasic.csproj...
  Lock file has not changed. Skipping lock file write. Path: E:\project-system\bin\obj\Microsoft.VisualStudio.ProjectSystem.Managed.UnitTests\project.assets.json
  Restore completed in 262.98 ms for E:\project-system\src\Microsoft.VisualStudio.ProjectSystem.Managed.UnitTests\Microsoft.VisualStudio.ProjectSystem.Managed.UnitTests.csproj.
  Lock file has not changed. Skipping lock file write. Path: E:\project-system\bin\obj\Microsoft.VisualStudio.ProjectSystem.Managed\project.assets.json
  Restore completed in 221.07 ms for E:\project-system\src\Microsoft.VisualStudio.ProjectSystem.Managed\Microsoft.VisualStudio.ProjectSystem.Managed.csproj.
  Restoring packages for E:\project-system\src\ProjectSystemDogfoodSetup\ProjectSystemDogfoodSetup.csproj...
  Restoring packages for E:\project-system\src\ProjectSystemSetup\ProjectSystemSetup.csproj...
  Lock file has not changed. Skipping lock file write. Path: E:\project-system\bin\obj\Microsoft.VisualStudio.ProjectSystem.VisualBasic.UnitTests\project.assets.json
  Restore completed in 277.43 ms for E:\project-system\src\Microsoft.VisualStudio.ProjectSystem.VisualBasic.UnitTests\Microsoft.VisualStudio.ProjectSystem.VisualBasic.UnitTests.csproj.
  Lock file has not changed. Skipping lock file write. Path: E:\project-system\bin\obj\Microsoft.VisualStudio.ProjectSystem.VisualBasic\project.assets.json
  Restore completed in 234.46 ms for E:\project-system\src\Microsoft.VisualStudio.ProjectSystem.VisualBasic\Microsoft.VisualStudio.ProjectSystem.VisualBasic.csproj.
  Restoring packages for E:\project-system\src\VisualStudioEditorsSetup\VisualStudioEditorsSetup.csproj...
  Lock file has not changed. Skipping lock file write. Path: E:\project-system\bin\obj\Microsoft.VisualStudio.ProjectSystem.Managed.VS\project.assets.json
  Restore completed in 425.98 ms for E:\project-system\src\Microsoft.VisualStudio.ProjectSystem.Managed.VS\Microsoft.VisualStudio.ProjectSystem.Managed.VS.csproj.
  Lock file has not changed. Skipping lock file write. Path: E:\project-system\bin\obj\Microsoft.VisualStudio.ProjectSystem.Managed.VS.UnitTests\project.assets.json
  Restore completed in 468.95 ms for E:\project-system\src\Microsoft.VisualStudio.ProjectSystem.Managed.VS.UnitTests\Microsoft.VisualStudio.ProjectSystem.Managed.VS.UnitTests.csproj.
  Lock file has not changed. Skipping lock file write. Path: E:\project-system\bin\obj\Microsoft.VisualStudio.ProjectSystem.VisualBasic.VS\project.assets.json
  Restore completed in 389.65 ms for E:\project-system\src\Microsoft.VisualStudio.ProjectSystem.VisualBasic.VS\Microsoft.VisualStudio.ProjectSystem.VisualBasic.VS.csproj.
  Lock file has not changed. Skipping lock file write. Path: E:\project-system\bin\obj\Microsoft.VisualStudio.ProjectSystem.VisualBasic.VS.UnitTests\project.assets.json
  Restore completed in 424.36 ms for E:\project-system\src\Microsoft.VisualStudio.ProjectSystem.VisualBasic.VS.UnitTests\Microsoft.VisualStudio.ProjectSystem.VisualBasic.VS.UnitTests.csproj.
  Lock file has not changed. Skipping lock file write. Path: E:\project-system\bin\obj\ProjectSystemSetup\project.assets.json
  Restore completed in 317.73 ms for E:\project-system\src\ProjectSystemSetup\ProjectSystemSetup.csproj.
  Lock file has not changed. Skipping lock file write. Path: E:\project-system\bin\obj\ProjectSystemDogfoodSetup\project.assets.json
  Restore completed in 354.67 ms for E:\project-system\src\ProjectSystemDogfoodSetup\ProjectSystemDogfoodSetup.csproj.
  Lock file has not changed. Skipping lock file write. Path: E:\project-system\bin\obj\VisualStudioEditorsSetup\project.assets.json
  Restore completed in 222.08 ms for E:\project-system\src\VisualStudioEditorsSetup\VisualStudioEditorsSetup.csproj.

  NuGet Config files used:
      E:\project-system\src\NuGet.Config
      C:\Users\davkean\AppData\Roaming\NuGet\NuGet.Config
      C:\Program Files (x86)\NuGet\Config\Microsoft.VisualStudio.Offline.config

  Feeds used:
      https://dotnet.myget.org/F/dotnet-core/api/v3/index.json
      https://dotnet.myget.org/F/roslyn-master-nightly/api/v3/index.json
      https://dotnet.myget.org/F/msbuild/api/v3/index.json
      https://dotnet.myget.org/F/nuget-build/api/v3/index.json
      https://dotnet.myget.org/F/roslyn-tools/api/v3/index.json
  Building ProjectSystem [Debug]
  Composition -> E:\project-system\bin\obj\Unused\Debug\Composition.dll
  xUnit.net -> E:\project-system\bin\obj\Unused\Debug\xUnit.net.dll
  Toolset -> E:\project-system\bin\obj\Unused\Debug\Toolset.dll
  CoreFX -> E:\project-system\bin\obj\Unused\Debug\CoreFX.dll
  Immutable -> E:\project-system\bin\obj\Unused\Debug\Immutable.dll
  Moq.net -> E:\project-system\bin\obj\Unused\Debug\Moq.net.dll
  Roslyn -> E:\project-system\bin\obj\Unused\Debug\Roslyn.dll
  Json.net -> E:\project-system\bin\obj\Unused\Debug\Json.net.dll
  MSBuild -> E:\project-system\bin\obj\Unused\Debug\MSBuild.dll
  Metadata -> E:\project-system\bin\obj\Unused\Debug\Metadata.dll
  CPS -> E:\project-system\bin\obj\Unused\Debug\CPS.dll
  VisualStudio -> E:\project-system\bin\obj\Unused\Debug\VisualStudio.dll
  Microsoft.VisualStudio.ProjectSystem.Managed.TestServices -> E:\project-system\bin\Debug\Tests\Microsoft.VisualStudio.ProjectSystem.Managed.TestServices.dll
  Microsoft.VisualStudio.AppDesigner -> E:\project-system\bin\Debug\Microsoft.VisualStudio.AppDesigner.dll
  Microsoft.VisualStudio.ProjectSystem.Managed -> E:\project-system\bin\Debug\Microsoft.VisualStudio.ProjectSystem.Managed.dll
  Microsoft.VisualStudio.Editors -> E:\project-system\bin\Debug\Microsoft.VisualStudio.Editors.dll
  Microsoft.VisualStudio.ProjectSystem.CSharp -> E:\project-system\bin\Debug\Microsoft.VisualStudio.ProjectSystem.CSharp.dll
  VisualStudioEditorsSetup -> E:\project-system\bin\Debug\VisualStudioEditorsSetup.dll
  VisualStudioEditorsSetup -> E:\project-system\bin\Debug\VisualStudioEditorsSetup.vsix
  Microsoft.VisualStudio.ProjectSystem.VisualBasic -> E:\project-system\bin\Debug\Microsoft.VisualStudio.ProjectSystem.VisualBasic.dll
  Microsoft.VisualStudio.ProjectSystem.Managed.VS -> E:\project-system\bin\Debug\Microsoft.VisualStudio.ProjectSystem.Managed.VS.dll
  Microsoft.VisualStudio.ProjectSystem.VisualBasic.VS -> E:\project-system\bin\Debug\Microsoft.VisualStudio.ProjectSystem.VisualBasic.VS.dll
  Microsoft.VisualStudio.ProjectSystem.CSharp.VS -> E:\project-system\bin\Debug\Microsoft.VisualStudio.ProjectSystem.CSharp.VS.dll
  ProjectSystemSetup -> E:\project-system\bin\Debug\ProjectSystem.dll
  DeployTestDependencies -> E:\project-system\bin\Debug\Tests\DeployTestDependencies.dll
  Microsoft.VisualStudio.ProjectSystem.Managed.UnitTests -> E:\project-system\bin\Debug\Tests\Microsoft.VisualStudio.ProjectSystem.Managed.UnitTests.dll
  Microsoft.VisualStudio.ProjectSystem.Managed.TestServices.UnitTests -> E:\project-system\bin\Debug\Tests\Microsoft.VisualStudio.ProjectSystem.Managed.TestServices.UnitTests.dll
  Microsoft.VisualStudio.ProjectSystem.VisualBasic.UnitTests -> E:\project-system\bin\Debug\Tests\Microsoft.VisualStudio.ProjectSystem.VisualBasic.UnitTests.dll
  Microsoft.VisualStudio.ProjectSystem.VisualBasic.VS.UnitTests -> E:\project-system\bin\Debug\Tests\Microsoft.VisualStudio.ProjectSystem.VisualBasic.VS.UnitTests.dll
  Microsoft.VisualStudio.ProjectSystem.Managed.VS.UnitTests -> E:\project-system\bin\Debug\Tests\Microsoft.VisualStudio.ProjectSystem.Managed.VS.UnitTests.dll
  ProjectSystemSetup -> E:\project-system\bin\Debug\ProjectSystem.vsix
  Microsoft.VisualStudio.ProjectSystem.CSharp.UnitTests -> E:\project-system\bin\Debug\Tests\Microsoft.VisualStudio.ProjectSystem.CSharp.UnitTests.dll
  Microsoft.VisualStudio.ProjectSystem.CSharp.VS.UnitTests -> E:\project-system\bin\Debug\Tests\Microsoft.VisualStudio.ProjectSystem.CSharp.VS.UnitTests.dll
  ProjectSystemDogfoodSetup -> E:\project-system\bin\Debug\ProjectSystemDogfoodSetup.dll
  ProjectSystemDogfoodSetup -> E:\project-system\bin\Debug\ProjectSystemDogfoodSetup.vsix
  Microsoft.VisualStudio.Editors\Microsoft.VisualStudio.Editors.nuspec -> E:\project-system\bin\Debug\NuGetPackages\Microsoft.VisualStudio.Editors.1.0.0-rc.nupkg'
  Microsoft.VisualStudio.AppDesigner\Microsoft.VisualStudio.AppDesigner.nuspec -> E:\project-system\bin\Debug\NuGetPackages\Microsoft.VisualStudio.AppDesigner.1.0.0-rc.nupkg'
  Microsoft.VisualStudio.ProjectSystem.Managed\Microsoft.VisualStudio.ProjectSystem.Managed.nuspec -> E:\project-system\bin\Debug\NuGetPackages\Microsoft.VisualStudio.ProjectSystem.Managed.1.0.0-rc.nupkg'
  Microsoft.VisualStudio.ProjectSystem.Managed.VS\Microsoft.VisualStudio.ProjectSystem.Managed.VS.nuspec -> E:\project-system\bin\Debug\NuGetPackages\Microsoft.VisualStudio.ProjectSystem.Managed.VS.1.0.0-rc.nupkg'
  Running tests for ProjectSystem [Debug]

Build completed successfully, for full log see E:\project-system\bin\Debug\Build.log
Logging Restore 2 Bug

Most helpful comment

Ping.

All 29 comments

This could be fixed by filtering out the additional messages in the NuGet's MSBuild logger wrapper, it would be a relatively small change.

Pack would need to support this also.

The same should happen in the Output window as well - filtering seems like the wrong approach, why log them in the first place?

These messages make sense for other scenarios. It seems like what we need is to shift all the current messages down a level so that minimal is actually minimal.

Yeah I don't mean don't log them ever.

@emgarten Can this be fixed in 15.6? The workaround for this is making our build targets more complicated than they should be.

@tmat I'll up the priority of this. What are you using as a workaround?

@emgarten Launching msbuild in a separate process like so:

https://github.com/dotnet/roslyn-tools/blob/master/src/RepoToolset/Build.proj#L89-L112

Bumping priority to 0 as per Tomas Matousek request.
He says: The workaround for it is adding extra complexity in our infrastructure.

We are launching a new instance of msbuild via Exec task:
https://github.com/dotnet/roslyn-tools/blob/master/sdks/RepoToolset/tools/Build.proj#L147-L159
The workaround is not quite correct as it is not escaping arguments, so it doesn't work in presence of spaces in paths etc.

@tmat Talk to me before you change that multi-process thing. It's secretly saving you from some bugs.

@rainersigwald Interesting. What are those bugs?

We don't always do it so either we are hitting the bugs and we haven't somehow noticed or we are lucky and not hitting them

Has there been any progress on this? This creates serious bloat in our build logs. For example, https://dotnet.visualstudio.com/public/_build/results?buildId=12613&_a=summary&view=logs. NuGet restore accounts for 374 of 590 logged lines (63.3%).

Ping.

Here's a more recent sample. https://dnceng.visualstudio.com/public/_build/results?buildId=60999. I've attached the build logs this time since the retention policy on AzDO will clean this up soon.

buildlog.txt

By my count, ~3000 of the 5218 lines in this log are from NuGet restore.

I've done a basic pass over the min & normal log messages.
Feel free to peek at my PR if you wants more details.
https://github.com/NuGet/NuGet.Client/pull/2577/

The msbuild /t:restore /v:m logs after the change for the NuGet Client solution look as below:

Microsoft (R) Build Engine version 15.9.21+g9802d43bc3 for .NET Framework
Copyright (C) Microsoft Corporation. All rights reserved.

  Restore completed in 1.63 sec for F:\Code\NuGet\NuGet.Client\src\NuGet.Clients\NuGet.SolutionRestoreManager.Interop\NuGet.SolutionRestoreManager.Interop.csproj.
  Restore completed in 5.46 sec for F:\Code\NuGet\NuGet.Client\src\NuGet.Clients\NuGet.CommandLine\NuGet.CommandLine.csproj.
  Restore completed in 5.46 sec for F:\Code\NuGet\NuGet.Client\src\NuGet.Clients\NuGet.MSSigning.Extensions\NuGet.MSSigning.Extensions.csproj.
  Restore completed in 6.43 sec for F:\Code\NuGet\NuGet.Client\src\NuGet.Clients\NuGet.VisualStudio.Common\NuGet.VisualStudio.Common.csproj.
  Restore completed in 12.14 sec for F:\Code\NuGet\NuGet.Client\src\NuGet.Clients\NuGet.Console\NuGet.Console.csproj.
  Restore completed in 12.16 sec for F:\Code\NuGet\NuGet.Client\src\NuGet.Clients\NuGet.PackageManagement.PowerShellCmdlets\NuGet.PackageManagement.PowerShellCmdlets.csproj.
  Restore completed in 184.5 ms for F:\Code\NuGet\NuGet.Client\src\NuGet.Clients\NuGet.VisualStudio.Implementation\NuGet.VisualStudio.Implementation.csproj.
  Restore completed in 12.15 sec for F:\Code\NuGet\NuGet.Client\src\NuGet.Clients\NuGet.PackageManagement.UI\NuGet.PackageManagement.UI.csproj.
  Restore completed in 10.58 sec for F:\Code\NuGet\NuGet.Client\src\NuGet.Clients\NuGet.Tools\NuGet.Tools.csproj.
  Restore completed in 12.36 sec for F:\Code\NuGet\NuGet.Client\src\NuGet.Clients\NuGet.PackageManagement.VisualStudio\NuGet.PackageManagement.VisualStudio.csproj.
  Restore completed in 12.25 sec for F:\Code\NuGet\NuGet.Client\src\NuGet.Clients\NuGet.SolutionRestoreManager\NuGet.SolutionRestoreManager.csproj.
  Restore completed in 264.03 ms for F:\Code\NuGet\NuGet.Client\src\NuGet.Clients\NuGet.VisualStudio\NuGet.VisualStudio.csproj.
  Restore completed in 7 sec for F:\Code\NuGet\NuGet.Client\src\NuGet.Clients\NuGet.VisualStudio.Client\NuGet.VisualStudio.Client.csproj.
  Restore completed in 383.04 ms for F:\Code\NuGet\NuGet.Client\src\NuGet.Clients\NuGet.VisualStudio.Interop\NuGet.VisualStudio.Interop.csproj.
  Restore completed in 427.47 ms for F:\Code\NuGet\NuGet.Client\src\NuGet.Clients\NuGetConsole.Host.PowerShell\NuGetConsole.Host.PowerShell.csproj.
  Restore completed in 391.97 ms for F:\Code\NuGet\NuGet.Client\src\NuGet.Core\NuGet.Common\NuGet.Common.csproj.
  Restore completed in 948.11 ms for F:\Code\NuGet\NuGet.Client\src\NuGet.Core\NuGet.Configuration\NuGet.Configuration.csproj.
  Restore completed in 5.29 ms for F:\Code\NuGet\NuGet.Client\src\NuGet.Core\NuGet.Frameworks\NuGet.Frameworks.csproj.
  Restore completed in 709.57 ms for F:\Code\NuGet\NuGet.Client\src\NuGet.Core\NuGet.DependencyResolver.Core\NuGet.DependencyResolver.Core.csproj.
  Restore completed in 1.16 sec for F:\Code\NuGet\NuGet.Client\src\NuGet.Core\NuGet.Commands\NuGet.Commands.csproj.
  Restore completed in 1.09 sec for F:\Code\NuGet\NuGet.Client\src\NuGet.Core\NuGet.Credentials\NuGet.Credentials.csproj.
  Restore completed in 10.62 ms for F:\Code\NuGet\NuGet.Client\src\NuGet.Core\NuGet.Indexing\NuGet.Indexing.csproj.
  Restore completed in 4.58 ms for F:\Code\NuGet\NuGet.Client\src\NuGet.Core\NuGet.Localization\NuGet.Localization.csproj.
  Restore completed in 1.56 sec for F:\Code\NuGet\NuGet.Client\src\NuGet.Core\Microsoft.Build.NuGetSdkResolver\Microsoft.Build.NuGetSdkResolver.csproj.
  Restore completed in 18.71 ms for F:\Code\NuGet\NuGet.Client\src\NuGet.Core\NuGet.PackageManagement\NuGet.PackageManagement.csproj.
  Restore completed in 63.37 ms for F:\Code\NuGet\NuGet.Client\src\NuGet.Core\NuGet.LibraryModel\NuGet.LibraryModel.csproj.
  Restore completed in 114.46 ms for F:\Code\NuGet\NuGet.Client\src\NuGet.Core\NuGet.ProjectModel\NuGet.ProjectModel.csproj.
  Restore completed in 84.9 ms for F:\Code\NuGet\NuGet.Client\src\NuGet.Core\NuGet.Packaging.Core\NuGet.Packaging.Core.csproj.
  Restore completed in 136.15 ms for F:\Code\NuGet\NuGet.Client\src\NuGet.Core\NuGet.Protocol\NuGet.Protocol.csproj.
  Restore completed in 169.02 ms for F:\Code\NuGet\NuGet.Client\src\NuGet.Core\NuGet.Packaging\NuGet.Packaging.csproj.
  Restore completed in 34.68 ms for F:\Code\NuGet\NuGet.Client\src\NuGet.Core\NuGet.Versioning\NuGet.Versioning.csproj.
  Restore completed in 145.86 ms for F:\Code\NuGet\NuGet.Client\src\NuGet.Core\NuGet.Resolver\NuGet.Resolver.csproj.
  Restore completed in 3.32 sec for F:\Code\NuGet\NuGet.Client\src\NuGet.Core\NuGet.Build.Tasks\NuGet.Build.Tasks.csproj.
  Restore completed in 6.54 sec for F:\Code\NuGet\NuGet.Client\src\NuGet.Core\NuGet.Build.Tasks.Pack\NuGet.Build.Tasks.Pack.csproj.
  Restore completed in 5.33 sec for F:\Code\NuGet\NuGet.Client\test\NuGet.Clients.Tests\NuGet.CommandLine.Test\NuGet.CommandLine.Test.csproj.
  Restore completed in 5.43 sec for F:\Code\NuGet\NuGet.Client\test\NuGet.Clients.FuncTests\NuGet.CommandLine.FuncTest\NuGet.CommandLine.FuncTest.csproj.
  Restore completed in 5.39 sec for F:\Code\NuGet\NuGet.Client\test\NuGet.Clients.Tests\NuGet.PackageManagement.UI.Test\NuGet.PackageManagement.UI.Test.csproj.
  Restore completed in 5.39 sec for F:\Code\NuGet\NuGet.Client\test\NuGet.Clients.FuncTests\NuGet.MSSigning.Extensions.FuncTest\NuGet.MSSigning.Extensions.FuncTest.csproj.
  Restore completed in 634.48 ms for F:\Code\NuGet\NuGet.Client\test\NuGet.Clients.Tests\NuGet.SolutionRestoreManager.Test\NuGet.SolutionRestoreManager.Test.csproj.
  Restore completed in 3.86 sec for F:\Code\NuGet\NuGet.Client\test\NuGet.Clients.Tests\NuGet.PackageManagement.VisualStudio.Test\NuGet.PackageManagement.VisualStudio.Test.csproj.
  Restore completed in 363 ms for F:\Code\NuGet\NuGet.Client\test\NuGet.Clients.Tests\NuGet.VisualStudio.Implementation.Test\NuGet.VisualStudio.Implementation.Test.csproj.
  Restore completed in 5.41 sec for F:\Code\NuGet\NuGet.Client\test\NuGet.Clients.Tests\NuGet.MSSigning.Extensions.Test\NuGet.MSSigning.Extensions.Test.csproj.
  Restore completed in 374.27 ms for F:\Code\NuGet\NuGet.Client\test\NuGet.Clients.Tests\NuGetConsole.Host.PowerShell.Test\NuGetConsole.Host.PowerShell.Test.csproj.
  Restore completed in 469.25 ms for F:\Code\NuGet\NuGet.Client\test\NuGet.Clients.Tests\NuGet.VisualStudio.Common.Test\NuGet.VisualStudio.Common.Test.csproj.
  Restore completed in 17.96 sec for F:\Code\NuGet\NuGet.Client\src\NuGet.Core\NuGet.CommandLine.XPlat\NuGet.CommandLine.XPlat.csproj.
  Restore completed in 14.34 sec for F:\Code\NuGet\NuGet.Client\test\NuGet.Core.FuncTests\NuGet.Protocol.FuncTest\NuGet.Protocol.FuncTest.csproj.
  Restore completed in 14.41 sec for F:\Code\NuGet\NuGet.Client\test\NuGet.Core.FuncTests\NuGet.Packaging.FuncTest\NuGet.Packaging.FuncTest.csproj.
  Restore completed in 14.84 sec for F:\Code\NuGet\NuGet.Client\test\NuGet.Core.FuncTests\NuGet.Commands.FuncTest\NuGet.Commands.FuncTest.csproj.
  Restore completed in 14.6 sec for F:\Code\NuGet\NuGet.Client\test\NuGet.Core.FuncTests\NuGet.Core.FuncTest\NuGet.Core.FuncTest.csproj.
  Restore completed in 14.82 sec for F:\Code\NuGet\NuGet.Client\test\NuGet.Core.FuncTests\NuGet.Common.FuncTest\NuGet.Common.FuncTest.csproj.
  Restore completed in 15.27 sec for F:\Code\NuGet\NuGet.Client\test\NuGet.Core.FuncTests\Dotnet.Integration.Test\Dotnet.Integration.Test.csproj.
  Restore completed in 14.77 sec for F:\Code\NuGet\NuGet.Client\test\NuGet.Core.FuncTests\NuGet.XPlat.FuncTest\NuGet.XPlat.FuncTest.csproj.
  Restore completed in 50.92 ms for F:\Code\NuGet\NuGet.Client\test\NuGet.Core.Tests\NuGet.Credentials.Test\NuGet.Credentials.Test.csproj.
  Restore completed in 4.86 sec for F:\Code\NuGet\NuGet.Client\test\NuGet.Core.Tests\Microsoft.Build.NuGetSdkResolver.Tests\Microsoft.Build.NuGetSdkResolver.Test.csproj.
  Restore completed in 542.19 ms for F:\Code\NuGet\NuGet.Client\test\NuGet.Core.Tests\NuGet.Common.Test\NuGet.Common.Test.csproj.
  Restore completed in 613.61 ms for F:\Code\NuGet\NuGet.Client\test\NuGet.Core.Tests\NuGet.Commands.Test\NuGet.Commands.Test.csproj.
  Restore completed in 49.81 ms for F:\Code\NuGet\NuGet.Client\test\NuGet.Core.Tests\NuGet.Indexing.Test\NuGet.Indexing.Test.csproj.
  Restore completed in 570.49 ms for F:\Code\NuGet\NuGet.Client\test\NuGet.Core.Tests\NuGet.Configuration.Test\NuGet.Configuration.Test.csproj.
  Restore completed in 894.67 ms for F:\Code\NuGet\NuGet.Client\test\NuGet.Core.Tests\NuGet.CommandLine.Xplat.Tests\NuGet.CommandLine.Xplat.Tests.csproj.
  Restore completed in 1.03 sec for F:\Code\NuGet\NuGet.Client\test\NuGet.Core.Tests\NuGet.Build.Tasks.Pack.Test\NuGet.Build.Tasks.Pack.Test.csproj.
  Restore completed in 215.15 ms for F:\Code\NuGet\NuGet.Client\test\NuGet.Core.Tests\NuGet.PackageManagement.Test\NuGet.PackageManagement.Test.csproj.
  Restore completed in 1.14 sec for F:\Code\NuGet\NuGet.Client\test\NuGet.Core.Tests\NuGet.Build.Tasks.Test\NuGet.Build.Tasks.Test.csproj.
  Restore completed in 661.37 ms for F:\Code\NuGet\NuGet.Client\test\NuGet.Core.Tests\NuGet.Frameworks.Test\NuGet.Frameworks.Test.csproj.
  Restore completed in 812 ms for F:\Code\NuGet\NuGet.Client\test\NuGet.Core.Tests\NuGet.DependencyResolver.Core.Tests\NuGet.DependencyResolver.Core.Tests.csproj.
  Restore completed in 701.79 ms for F:\Code\NuGet\NuGet.Client\test\NuGet.Core.Tests\NuGet.LibraryModel.Tests\NuGet.LibraryModel.Tests.csproj.
  Restore completed in 543.53 ms for F:\Code\NuGet\NuGet.Client\test\NuGet.Core.Tests\NuGet.Packaging.Core.Test\NuGet.Packaging.Core.Test.csproj.
  Restore completed in 598.93 ms for F:\Code\NuGet\NuGet.Client\test\NuGet.Core.Tests\NuGet.ProjectModel.Test\NuGet.ProjectModel.Test.csproj.
  Restore completed in 588.65 ms for F:\Code\NuGet\NuGet.Client\test\NuGet.Core.Tests\NuGet.Packaging.Test\NuGet.Packaging.Test.csproj.
  Restore completed in 504.46 ms for F:\Code\NuGet\NuGet.Client\test\NuGet.Core.Tests\NuGet.Resolver.Test\NuGet.Resolver.Test.csproj.
  Restore completed in 575.58 ms for F:\Code\NuGet\NuGet.Client\test\NuGet.Core.Tests\NuGet.Protocol.Tests\NuGet.Protocol.Tests.csproj.
  Restore completed in 15.23 ms for F:\Code\NuGet\NuGet.Client\test\TestExtensions\SampleCommandLineExtensions\SampleCommandLineExtensions.csproj.
  Restore completed in 38.67 ms for F:\Code\NuGet\NuGet.Client\test\TestExtensions\TestablePluginCredentialProvider\TestableCredentialProvider.csproj.
  Restore completed in 479.97 ms for F:\Code\NuGet\NuGet.Client\test\NuGet.Core.Tests\NuGet.Shared.Tests\NuGet.Shared.Tests.csproj.
  Restore completed in 404.35 ms for F:\Code\NuGet\NuGet.Client\test\NuGet.Core.Tests\NuGet.Versioning.Test\NuGet.Versioning.Test.csproj.
  Restore completed in 205.13 ms for F:\Code\NuGet\NuGet.Client\test\TestUtilities\Test.Utility\Test.Utility.csproj.
  Restore completed in 869.31 ms for F:\Code\NuGet\NuGet.Client\test\TestExtensions\GenerateTestPackages\GenerateTestPackages.csproj.
  Restore completed in 1.13 sec for F:\Code\NuGet\NuGet.Client\test\TestExtensions\API.Test\API.Test.csproj.
  Restore completed in 1.49 sec for F:\Code\NuGet\NuGet.Client\test\TestExtensions\NuGet.StaFact\NuGet.StaFact.csproj.
  Restore completed in 6.97 sec for F:\Code\NuGet\NuGet.Client\test\TestExtensions\GenerateLicenseList\GenerateLicenseList.csproj.
  Restore completed in 10.61 sec for F:\Code\NuGet\NuGet.Client\test\TestExtensions\TestablePlugin\TestablePlugin.csproj.

Please note that with this change, for "heavy" restores users might not see any feedback for minutes potentially.

Btw, do we need full path of each csproj or can we show relative Path from the PWD ie from where the restore was run?

Also, for normal verbosity, can we change the name lock file to something else to make it less confusing especially with the actual lock file feature?

@anangaur
The full path is consistent with how the build does it.

I did not change any messages whatsoever, just the log level.
We can change that specific message though. Probably there are others that need revised but that's an obvious one.

Look at the paths above, the projects do not have a full path.

@nkolev92 How does the output look for /v:quiet? I'd expect it to output nothing, or maybe just "Restored N project(s).".

@tmat
It outputs nothing. But that's already the case with the old implementation.

I assume with your change /v:m reports one message per project, correct? I wonder if it would be better to only report a message for each newly installed package instead. That is, if no package is installed to the cache there would be no message. I think that kind of information is valuable to see when you make some changes to package references. It's not really that useful to see a list of all projects in the solution.

Please note that with this change, for "heavy" restores users might not see any feedback for minutes potentially.

@anangaur @nkolev92 What do you think about emitting a message to indicate that restore has started, something like "Beginning restore of N projects..."?

"Beginning restore of N projects..."

That would require that nuget have insight into the number of projects, which during a build, I expect it doesn't. It's just a per-project msbuild task.

The "N projects" isn't the important part of my suggestion. My main suggestion is to show _something_ that indicates restore has started. @nkolev92 is right that reducing verbosity will make command line restore appears to hang for several minutes. FWIW I think this is already e a problem with the current logging verbosity (see https://github.com/NuGet/Home/issues/4346), and reducing verbosity without adding a 'starting' message only makes https://github.com/NuGet/Home/issues/4346 worse.

Side note: I believe the restore task should have access to the project count. If I've understood NuGet.targets correctly, restore runs a target on projects to collect the restore graph, but the actual execution of the restore via RestoreTask happens once per build, not once per project.

I'll take a step back and describe what is kind of information logged today at minimal and how we are changing it.
I'd be perfectly happy to add/completely cut certain log messages if they are deemed unnecessary.
Open to feedback ofc 馃槂

Currently on minimal, users can see the following messages.

| Log message | When | Change |
| ---------------|--------|----------|
| Restoring packages for... | Logged when NuGet tries resolves the dependency graph for a project. This means this message only shows up during restores in which NuGet writes to an assets file. | I think this information can be considered useful. For a minimal message, I'd rather see something that's logged every time rather than just when NuGet does an actual restore (compared to a no-op when all packages are on disk and the assets file is up to date with the project file).|
| Generating msbuild file | Logged when NuGet writes nuget.g.props/nuget.g.targets file | Unnecessary at the min level. I thought it was a no-brainer to move it to normal. |
| Restore completed | When restore completes and the time it took for the dependency resolution (this does involve things such as process start-up, | The restore completion message that's always logged, regardless of the status. |
| Installing package ... | Logged when NuGet is installing a package in the global packages folder. This means 1 line per package regardless of how many projects reference it. It could also mean, nothing is logged if all the packages are already in the global packages folder | @tmat suggested that we just have this instead of the per project log message. Personally I thought it's more important to see that restore was run for said project rather than which specific packages were installed. Note that in the min log case prior to this change, this log message accounted for 264/431, or 61% of all the message logged by NuGet. This kind of goes against the chief complaint in this issue that NuGet logs too often. |

@AArnott, @natemcmaster

I see how the number of project information is useful when following the logs.
But as already mentioned, the lack of feedback during long restore is already a problem.

Another idea that might help is moving the "Restoring packages for..." message from the above table to be written on every restore (no-op or not).

That'd mean that the min logs go down from 431 => 163 lines.

To mitigate the perceived hang during a long restore, you could log a message every 5 seconds giving a status update. With whatever progress details you can come up with.

That's certainly an idea, however I think that's more appropriate for https://github.com/NuGet/Home/issues/4346, as it's a significantly larger change.

I see this issue as something easier to address than the overall problem described in #4346

Was this page helpful?
0 / 5 - 0 ratings