dnx dnu

dnx - ¿Cuál es el comportamiento esperado de los directorios relativos a padres en global.json?



dnu (1)

No funciona de la forma en que lo esperaba, cuando inicia dnu restore , intenta encontrar global.json en los directorios actuales o principales, y lee la ruta del proyecto. En su ejemplo, no lee nada porque global.json está en un subdirectorio.

Una forma de resolver este problema es agregar global.json a la carpeta raíz con el siguiente contenido:

{ "projects": [ "Application/src", "Common/src" ] }

Preguntaré acerca de este escenario y si podría cambiar cuando se mueva a dotnet cli

(Ahora planteado como DNX número 3206 ...)

Entorno DNX: 1.0.0-rc1, Windows 10 x64.

Imagina que tengo tres soluciones:

  • Aplicación1
  • Aplicación2
  • Común

Cada una de estas soluciones tiene múltiples proyectos en; No tendría sentido tener todos los proyectos en una sola solución, aunque eso simplificaría este problema en particular .

Varios proyectos en Application1 y Application2 dependen de un proyecto en común. Sus archivos project.json indican esa dependencia de una manera normal. Aunque eventualmente me gustaría publicar los artefactos de Common a un servidor NuGet (interno o externo), tiene sentido construir temporalmente todo desde la fuente.

Puedo hacer eso editando global.json dentro de (digamos) Application1 para tener:

{ "projects": [ "src", "test", "../Common/src" ], "sdk": { "version": "1.0.0-rc1-final" } }

Con eso en su lugar, puedo realizar una dnu restore desde el directorio Application1 ... pero no desde el directorio raíz. (El error es "No se puede localizar la dependencia ''Común''> = 0.0.0- *".) Puedo ejecutar dnu restore Application1 desde el directorio raíz, pero no solo dnu restore .

He intentado varias formas de referirme al directorio de Common src (incluido "./Common/src", "Common / src", "../repo-name/Common/src"), pero no he tenido ninguna alegría todavía. En todos los casos, recibo el mensaje de error que se muestra arriba. He intentado usar dnu -v restore pero eso no parece dar ninguna información adicional sobre qué directorios fueron investigados para paquetes basados ​​en fuentes.

Entonces, ¿cómo debería "../Common/src" en global.json ? ¿Es este un enfoque razonable para el escenario de desarrollo que he descrito, y si es así, es solo una cuestión de presentar un error contra DNX?