Cuál es el comportamiento esperado de los directorios padre-relativos en global.json?
(Ahora planteado como DNX issue 3206...)
Entorno DNX: 1.0.0-rc1, Windows 10 x64.
Imagine que tengo tres soluciones:
- Aplicación1
- Aplicación2
- Frecuentes
Cada una de estas soluciones tiene múltiples proyectos; no tendría sentido tener todos los proyectos en una sola solución, aunque eso simplificaría este problema particular.
Varios proyectos en Aplicación1 y Aplicación2 depende de un proyecto en Común. Sus archivos project.json
indican esa dependencia de una manera normal. Si bien eventualmente me gustaría publicar los artefactos de Common a un servidor NuGet (interno o externo), tiene sentido construir temporalmente todo desde el código fuente.
Puedo hacer eso editando global.json
dentro de (digamos) Aplicación1 para tener:
{
"projects": [ "src", "test", "../Common/src" ],
"sdk": { "version": "1.0.0-rc1-final" }
}
Con eso en su lugar, puedo realizar un dnu restore
desde el directorio Application1... pero no desde el directorio raíz. (El error es "Unable to locate Dependency 'Common' >= 0.0.0-* " (en inglés).) Puedo ejecutar dnu restore Application1
desde el directorio raíz, pero no solo dnu restore
.
He intentado numerosas formas de hacer referencia al directorio src Común (incluyendo"./Common/src", "Common/src", "../repo-name / Common / src"), pero aún no he tenido ninguna alegrí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 estaban siendo sondeados para paquetes basados en código fuente.
So, ¿cómo debe el "../Common/src"
ser resuelto 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?
1 answers
No funciona como se espera, cuando se inicia dnu restore
intenta encontrar global.json
en los directorios actual o padre, y lee la ruta del proyecto desde él. Así que en tu ejemplo no lee nada porque global.json
está en el 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 al pasar a dotnet cli
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2015-11-25 18:58:57