VSTS–Mac build agent fail restoring NuGet packages

Heads up if you’re running VSTS build agent on a Mac for Xamarin.Forms iOS projects.

You may see this error message from the NuGet package restore step:
”To connect to NuGet feeds hosted in your Team Services account/TFS project collection with NuGet 3.1 or below, edit your build definition to specify a path to a NuGet.config containing the package sources you wish to use.”
 
And this error message in the agent’s _diag log file on the Mac:
                MsBuild.exe does not exist at ‘/Library/Frameworks/Mono.framework/Versions/4.4.2/lib/mono/4.5/msbuild.exe’.
 
It’s a closed issue on GitHub, but you’ll need to do a workaround.
 
See https://github.com/Microsoft/vsts-tasks/issues/2828 for details. The issue was opened about 10 days ago.
 
I hadn’t changed anything with my build definition, source code, or build agent, but the build failed this morning. (It had been a couple of weeks since I’d run it, and it had always worked before. Quite a surprise.
 
I ended up putting this in the VSTS NuGet package restore step and it resolved the issue for me:

2016-10-17_10-26-36

Note from Joe Sauve:

You can also use:
“/Library/Frameworks/Mono.framework/Versions/Current/lib/mono/nuget/NuGet.exe”

Note the “Current” instead of a specific version number. There should be a symlinked “Current” folder in there that always points to the most recent version.

Thanks Joe!

bliz

1 thought on “VSTS–Mac build agent fail restoring NuGet packages

  1. joesauve

    No prob! I think you may have pasted my comment straight out of the email. I accidentally typo-ed “Note” as “Not”. You may want to update in your post. I updated my comment on Github after I noticed the typo.

    Reply

Leave a comment