Ian Kemp tiene la respuesta (tiene algunos puntos por cierto ...), esto es simplemente agregar algo de carne a uno de sus pasos.
La razón por la que terminé aquí fue que las máquinas de desarrollo se estaban construyendo bien, pero el servidor de compilación simplemente no estaba eliminando los paquetes requeridos (carpeta de paquetes vacía) y, por lo tanto, la compilación estaba fallando. Sin embargo, iniciar sesión en el servidor de compilación y compilar manualmente la solución funcionó.
Para cumplir con el segundo de los pasos de 3 puntos de Ians (ejecutar la restauración de nuget ), puede crear un destino MSBuild ejecutando el comando exec para ejecutar el comando de restauración de nuget, como se muestra a continuación (en este caso, nuget.exe está en la carpeta .nuget, en lugar de en la ruta), que luego se puede ejecutar en un paso de compilación de TeamCity (otros CI disponibles ...) inmediatamente antes de compilar la solución
<Target Name="BeforeBuild">
<Exec Command="..\.nuget\nuget restore ..\MySolution.sln"/>
</Target>
Para el registro, ya probé el tipo de corredor "instalador nuget", pero este paso estaba colgado en proyectos web (funcionó para proyectos de DLL y Windows)