visual that studio restaurar references paquetes missing descargar computer cli are .net msbuild nuget

.net - that - restore nuget packages visual studio 2017 console



Error de MSBuild al encontrar el archivo nuget.targets (3)

Estoy tratando de construir un proyecto csproj con msbuild, pero teniendo todo tipo de problemas extraños con él quejándose de no encontrar nuget.targets.

Ejecuto las construcciones de línea de comando más simples con MSbuild:

Msbuild Project.csproj

Y eso funciona en mi carpeta dev normal, pero en otra ubicación de carpeta falla con estos errores:

error MSB4019: The imported project "C:/BuildAgent/work/CableSense/.nuget/nuget.targets" was not found. Confirm that the path in the <Import> declaration is correct, and that the file exists on disk.

Esa ruta ( C:/BuildAgent/work/CableSense/.nuget/nuget.targets ) está realmente mal y falta una carpeta después del trabajo (work / somefolder / wiresense), pero no entiendo por qué. Más extraño, si construyo otro proyecto que es parte de la solución, entonces eso funciona, es solo este proyecto.

El csproj especifica la ubicación del archivo nuget.targets como este:

<Import Project="$(SolutionDir)/.nuget/nuget.targets" />

Y el SolutionDir se define así:

<SolutionDir Condition="$(SolutionDir) == '''' Or $(SolutionDir) == ''*Undefined*''">../</SolutionDir>

Que es lo mismo que el otro proyecto que funciona. ¿Algunas ideas?


Argh! Después de publicar esto, encontré el problema. Básicamente, el proyecto tenía dependencias en otros proyectos. Los archivos csproj para esos proyectos relacionados estaban ligeramente equivocados, y tenían esto como SolutionDir:

<SolutionDir Condition="$(SolutionDir) == '''' Or $(SolutionDir) == ''*Undefined*''">../../CableSense/</SolutionDir>

¡Lo cual provocó el problema! Espero que esto ayude a alguien más allí, me siento mal por responder a mi propia pregunta ahora.


Bien, ahora recibí el mismo error pero la solución resultó ser diferente para mí.

En la Definición de construcción, en Configuración de fuente, tuve la carpeta de control de fuente establecida en el directorio del proyecto real en lugar de la carpeta raíz para la solución.

Sé que este es un hilo viejo respondido, pero esto podría ayudar a alguien que cometió el mismo error que yo.


para mí solo cambié la ubicación de la solución, para tener una ubicación corta.