.net git nuget git-submodules nuget-package-restore

.net - Submódulos NuGet y Git



git-submodules nuget-package-restore (1)

Parece que su problema es que los proyectos del submódulo están en un nivel de directorio diferente al de la solución de su repo. Este es un problema común de Nuget porque se restaura en el nivel de la solución. Puede usar el script para corregir la ruta de acceso de pista aquí para reemplazar sus referencias con $ (SolutionDir) y probablemente resolver el problema. https://github.com/owen2/AutomaticPackageRestoreMigrationScript/blob/master/README.md#fixhintpathsps1

Ya busqué una solución de forma exhaustiva, probé diferentes enfoques pero ninguno funcionó, por lo que pregunto aquí.

Mi necesidad actual es tener repositorios Git separados que contengan cada uno un archivo de solución .Net con proyectos relacionados. Uno o más de esos repositorios contendrán solo bibliotecas de clase y necesito usar esas bibliotecas dentro de otras soluciones de repositorios.

Mi primer paso fue utilizar Git Submodules para evitar el feo copiar y pegar y aún tener el código fuente de las bibliotecas de clase disponibles al desarrollar las aplicaciones.

Así que mi intento fue incluir el submódulo, luego en mi Solución actual "agregue el proyecto existente" y cargue la (s) biblioteca (s) de clase deseada (s).

El gran problema que no he podido superar es la restauración del paquete Nuget. Los proyectos importados hacen referencia a las bibliotecas en ".. / Packages *", pero cuando se importan como submódulos, se encuentran en una subcarpeta adicional para que no puedan encontrar las dependencias necesarias:

- MySolution.sln - Packages folder - MyAppProject folder - Submodule folder -- EXPECTED packages folder for MyLibraryProject that I cannot generate -- MyLibraryProject folder

Una solución que encontré e intenté fue this pero tiene dos problemas principales:

  • Se supone que funciona con la restauración del paquete MsBuild y no quiero usarlo.
  • Incluso al intentar utilizar la restauración de paquetes de MsBuild, no funcionó en absoluto, todavía tengo una única carpeta de Paquetes en mi carpeta de soluciones actual. Tal vez hice algo mal pero, una vez más, no quiero usar el enfoque de MsBuild.

Ahora realmente me gustaría saber si hay una manera limpia de resolver este problema, o si lo único que puedo hacer es dejar de tener disponibles las fuentes de código de las bibliotecas y publicar mis bibliotecas en un feed y referencia de NuGet privado. ellos desde ahi

Gracias.