Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

This project references NuGet package(s) that are missing on this computer. The missing file is ..\packages\NUnit.3.10.1\build\NUnit.props

I am encountering the error during the Build phase of an Azure Pipeline on the Azure DeveOps site. Specifically, the packages it is complaining about are:

2018-09-30T20:35:07.6022998Z
==============================================================================
2018-09-30T20:35:08.4023740Z [command]C:\Windows\system32\chcp.com 65001
2018-09-30T20:35:08.4106228Z Active code page: 65001
2018-09-30T20:35:08.4688610Z [command]"C:\Program Files\dotnet\dotnet.exe" build D:\a\1\s\ClassService.Tests\WebAPITests.csproj --configuration release
2018-09-30T20:35:08.7564734Z Microsoft (R) Build Engine version 15.8.166+gd4e8d81a88 for .NET Core
2018-09-30T20:35:08.7565155Z Copyright (C) Microsoft Corporation. All rights reserved.
2018-09-30T20:35:08.7565308Z 
2018-09-30T20:35:09.2187455Z   Nothing to do. None of the projects specified contain packages to restore.
2018-09-30T20:35:09.2600797Z D:\a\1\s\ClassService.Tests\WebAPITests.csproj(60,5): error : This project references NuGet package(s) that are missing on this computer. Use NuGet Package Restore to download them.  For more information, see http://go.microsoft.com/fwlink/?LinkID=322105. The missing file is ..\packages\NUnit.3.10.1\build\NUnit.props.
2018-09-30T20:35:09.2684158Z 
2018-09-30T20:35:09.2685014Z Build FAILED.
2018-09-30T20:35:09.2685593Z 
2018-09-30T20:35:09.2685883Z D:\a\1\s\ClassService.Tests\WebAPITests.csproj(60,5): error : This project references NuGet package(s) that are missing on this computer. Use NuGet Package Restore to download them.  For more information, see http://go.microsoft.com/fwlink/?LinkID=322105. The missing file is ..\packages\NUnit.3.10.1\build\NUnit.props.
2018-09-30T20:35:09.2685950Z     0 Warning(s)
2018-09-30T20:35:09.2686808Z     1 Error(s)
2018-09-30T20:35:09.2686892Z 
2018-09-30T20:35:09.2687550Z Time Elapsed 00:00:00.45
2018-09-30T20:35:09.3022976Z ##[error]Error: C:\Program Files\dotnet\dotnet.exe failed with return code: 1
2018-09-30T20:35:09.3036637Z [command]"C:\Program Files\dotnet\dotnet.exe" build D:\a\1\s\DanceWorksStudio.MobileAppService\DanceWorksStudio.MobileAppService.csproj --configuration release

I have looked at similar questions where the solution is to perform a Nuget restore but they usually refer to a local machine or a Visual Studio installation not Visual Studio Team Services (the previous name for Azure DevOps).

In this case, the computer is a Hosted 2017 Agent in the Azure DevOps environment and I don't see how get a Nuget Restore job to execute there.

However, earlier in the log file, I do see references to where the build agent is installing the required Nunit Nuget packages:

2018-09-30T20:34:18.9378894Z        Using "RestoreTask" task from assembly "C:\Program Files\dotnet\sdk\2.1.400\NuGet.Build.Tasks.dll".
2018-09-30T20:34:18.9379005Z        Task "RestoreTask"
2018-09-30T20:34:18.9379127Z          (in) RestoreGraphItems Count '19'
2018-09-30T20:34:18.9379258Z          (in) RestoreDisableParallel 'False'
2018-09-30T20:34:18.9379370Z          (in) RestoreNoCache 'True'
2018-09-30T20:34:18.9379483Z          (in) RestoreIgnoreFailedSources 'False'
2018-09-30T20:34:18.9379610Z          (in) RestoreRecursive 'True'
2018-09-30T20:34:18.9379721Z          (in) RestoreForce 'False'
2018-09-30T20:34:18.9379834Z          (in) HideWarningsAndErrors 'False'
2018-09-30T20:34:19.0149316Z          Running restore with 2 concurrent jobs.    
2018-09-30T20:34:19.0239478Z          Reading project file D:\a\1\s\DanceWorksStudio.MobileAppService\DanceWorksStudio.MobileAppService.csproj.
2018-09-30T20:34:19.0621933Z          Restoring packages for D:\a\1\s\DanceWorksStudio.MobileAppService\DanceWorksStudio.MobileAppService.csproj...


2018-09-30T20:34:20.1980374Z            GET https://api.nuget.org/v3-flatcontainer/nunit/index.json
2018-09-30T20:34:20.2168394Z            GET https://api.nuget.org/v3-flatcontainer/nunit3testadapter/index.json
2018-09-30T20:34:28.8022324Z            GET https://api.nuget.org/v3-flatcontainer/nunit/3.10.1/nunit.3.10.1.nupkg


2018-09-30T20:34:39.7126978Z          Acquiring lock for the installation of NUnit3TestAdapter 3.10.0
2018-09-30T20:34:39.7127033Z          Acquired lock for the installation of NUnit3TestAdapter 3.10.0
2018-09-30T20:34:39.7127104Z          Installing NUnit3TestAdapter 3.10.0.

2018-09-30T20:34:39.7946703Z          Acquiring lock for the installation of NUnit 3.10.1
2018-09-30T20:34:39.7947844Z          Acquiring lock for the installation of Microsoft.AspNetCore.Http.Abstractions 1.0.3
2018-09-30T20:34:39.7950455Z          Acquired lock for the installation of NUnit 3.10.1
2018-09-30T20:34:39.7950672Z          Installing NUnit 3.10.1.

2018-09-30T20:34:43.5285313Z          Completed installation of NUnit3TestAdapter 3.10.0

2018-09-30T20:34:46.7897372Z          Completed installation of NUnit 3.10.1
like image 363
Willam Hutchison Avatar asked Sep 30 '18 21:09

Willam Hutchison


People also ask

How do I fix a missing NuGet package?

You can restore packages manually with nuget restore , dotnet restore , msbuild -t:restore , or through Visual Studio. The dotnet build and dotnet run commands automatically restore packages, and you can configure Visual Studio to restore packages automatically when it builds a project.

How do I allow NuGet to download missing packages?

To do that, go to Tools, NuGet Packaged Manager, then go to Package Manager Settings. Go to the General section, and then make sure you have a checkmark for Allow NuGet to download missing packages and also to automatically check for missing packages during the build in Visual Studio. So click on OK.

How do I reinstall NuGet package?

Switch to the Browse tab, search for the package name, select it, then select Install). For all packages, delete the package folder, then run nuget install . For a single package, delete the package folder and use nuget install <id> to reinstall the same one.


1 Answers

It's a known Nuget issue

Look here

The solution is, in your test project's .csproj file, at the bottom normally, you'll find a section

<Target Name="EnsureNuGetPackageBuildImports" BeforeTargets="PrepareForBuild">
    <PropertyGroup>
      <ErrorText>This project references NuGet package(s) that are missing on this computer. Use NuGet Package Restore to download them.  For more information, see http://go.microsoft.com/fwlink/?LinkID=322105. The missing file is {0}.</ErrorText>
    </PropertyGroup>
    <Error Condition="!Exists('..\packages\NUnit.3.12.0\build\NUnit.props')" Text="$([System.String]::Format('$(ErrorText)', '..\packages\NUnit.3.12.0\build\NUnit.props'))" />
  </Target>

Delete that section.

like image 140
gͫrͣeͬeͨn Avatar answered Sep 26 '22 05:09

gͫrͣeͬeͨn