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 .nupkg
archivos 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
.dll
archivos / 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
.csproj
archivo para agregarlo<BuildPackage>true</BuildPackage>
para incluir dependencias - cree manualmente un
.nuspec
archivo y enumere manualmente sus dependencias ( ¿similar? ) - ejecutar manualmente
nuget pack
en su.nuspec
archivo
Pero todo es manual, lo cual es una estupidez. Incluso las soluciones semiautomáticas siguen siendo incómodas o medio manuales:
- Cree
.nuspec
plantillas : 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 .nuspec
manifiesto 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.