jueves, 7 de junio de 2012

¿Cómo que: “The system cannot find the path specified”?

Estos últimos días he estado peleando con un asunto que me sacaba completamente de mis casillas. Aquel tipo de errores que aparentemente no tiene ningún sentido ni razón de ser. El asunto era que la solución no se compilaba correctamente por este error.

"C:\hg\Beezy\Domain.Tests\Domain.Tests.csproj" (default target) (14) ->
(RestorePackages target) ->
  C:\hg\Beezy\.nuget\nuget.targets(58,9): error : The system cannot find the path specified. [C:\hg\Beezy\Domain.Tests\Domain.Tests.csproj]
  C:\hg\Beezy\.nuget\nuget.targets(58,9): error MSB3073: The command ""C:\hg\Beezy\.nuget\nuget.exe" install "C:\hg\Beezy\Domain.Tests\packages.config" -source "" -o "C:\hg\Beezy\packages"" exited with code -1. [C:\hg\Beezy\Domain.Tests\Domain.Tests.csproj]

Lo extraño del caso es que el fichero C:\hg\Beezy\Domain.Tests\Domain.Tests.csproj realmente existía, y el proceso tenía acceso total al fichero. Raro. Además en todos los demás entornos, incluído el entorno de integración continua, todo funcionaba a la perfección. De todas maneras, como esto no me impedía seguir trabajando con normalidad porque el resto de proyectos compilaban, me molestaba, pero no hasta el punto de obligarme a solucionarlo en el momento.

Hoy, finalmente ha habido algo que me ha obligado a tomar cartas en el asunto. He abierto un símbolo de sistema y me he encontrado con esto:

Microsoft Windows [Version 6.1.7601]

Copyright (c) 2009 Microsoft Corporation. All rights reserved.

The system cannot find the path specified.

Por aquí ya no paso, una cosa es que no me dejes compilar, pero otra cosa es que me des un error en toda la cara cuando lo único que te estoy diciendo es que abras una humilde consola de comandos. En ese momento he empezado a buscar soluciones y, después de un buen rato, he dado con este artículo:

http://carol-nichols.com/2011/03/the-system-cannot-find-the-path-specified/

Las coincidencias en cuanto a mensaje y en cuanto a precedentes me han hecho prestarle una atención especial, hasta el punto que he visto que describía y solucionaba perfectamente mi problema. Podéis ver el artículo, que merece la pena. Yo aquí os voy a hacer un resumen del problema y os voy a dar directamente la solución:

Problema: durante el proceso de instalación de Ruby en esta máquina tuve que instalar ANSICON. La instalación la realicé desde la carpeta de descargas. Hace poco, haciendo limpieza, pasé la carpeta que había descargado a una carpeta más adecuada pensando que nada pasaría.

Solución: O bien vuelves a poner la carpeta donde estaba, o bien abres el registro y buscas la clave HKCU\Software\microsoft\Command Processor\AutoRun y la cambias consecuentemente.

2 comentarios:

Noah Coad (C# MVP) dijo...

very helpful, thank you!! solved my nuget problem

Noah Coad (C# MVP) dijo...
Este comentario ha sido eliminado por el autor.