Quiero ejecutar un repositorio NuGet local / interno . Creo que he descubierto cómo "reutilizar" los paquetes NuGet existentes incluyéndolos en un proyecto ficticio usando NuGet y escaneando el archivo del paquete para capturar mis .nupkgarchivos almacenados en caché local , pero ...
¿Cómo se crea un paquete nuget ( .nupkg) a partir de un proyecto, que incluye automáticamente todas las dll dependencias y no solo las capturadas a través de NuGet?
Específicamente:
- Crea una solución
- Agregar un nuevo proyecto
- Agregue referencias a varios
.dllarchivos / otros proyectos <- esta es la parte que falta - Agregue paquetes NuGet a través del administrador de paquetes / cmdline / lo que sea
- algo crea automáticamente el
.nupkg
Por lo que he encontrado, se supone que debes hacer cosas como
- edite manualmente su
.csprojarchivo para agregarlo<BuildPackage>true</BuildPackage>para incluir dependencias - cree manualmente un
.nuspecarchivo y enumere manualmente sus dependencias ( ¿similar? ) - ejecutar manualmente
nuget packen su.nuspecarchivo
Pero todo es manual, lo cual es una estupidez. Incluso las soluciones semiautomáticas siguen siendo incómodas o medio manuales:
- Cree
.nuspecplantillas : no parece incluir dependencias, solo metadatos nuget pack a través de build-event (paso # 5), que debe agregar manualmente a cada proyecto, y tiene sus propias peculiaridades :
"$(SolutionDir).nuget\NuGet.exe" pack "$(ProjectPath)" -Properties Configuration=Release move /Y *.nupkg "$(TargetDir)"
Me conformaré con algo que crea automáticamente un .nuspecmanifiesto a partir de las referencias del proyecto. Entonces, teóricamente, + el evento de compilación de nuget se puede acumular en un paquete de proyecto de compilación / nuget, que es lo que realmente quiero ver.
