nuget - studio - Cómo agregar una carpeta a un archivo nuspec
nuget pack (1)
Así que en realidad estoy tratando de empaquetar un proyecto de sitio web (no una aplicación web, por lo que no hay un archivo csproj) en un paquete NuGet listo para que Octopus lo consuma, pero estoy corriendo en una pared de ladrillos tras otra ...
Estudié el uso de OctoPack, pero no admite proyectos de sitios web, solo proyectos de aplicaciones web.
Ahora estoy tratando de encontrar una manera de agregar una carpeta (en mi caso, un sitio web) a un paquete de Nuget, pero Nuget no lo permite a través de la línea de comandos, ¿verdad? También requiere un archivo .csproj!
También intenté crear los archivos de especificaciones de NuGet y pasarlos a una carpeta, ¿pero no es posible?
Por el momento, es posible que tenga que usar el explorador de paquetes de NuGet, pero quiero escribir esto.
He analizado esta pregunta pero no parece manejar mi escenario ¿Puedo crear un paquete nuget sin un archivo de proyecto?
¿Alguien sabe cómo agregar mejor una carpeta a un paquete de NuGet a través de la línea de comandos?
No sé OctoPack, pero con nuget.exe, el empaquetado se realiza en dos pasos:
- Cree un .nuspec manualmente o genere uno a partir de un .csproj o un ensamblaje existente (consulte la
nuget spec
en los documentos ). - Llame
nuget pack
con el .nuspec creado en el paso anterior como parámetro.
Como no tienes un .csproj por ahí, estás atascado creando el .nuspec manualmente (o con una herramienta GUI como NuGet Package Explorer ).
Puede leer todo sobre cómo crear un archivo .nuspec en la Referencia de Nuspec , específicamente la sección sobre Especificar archivos para incluir en el paquete .
Si desea incluir una carpeta (¿recursivamente?) En el paquete, necesita agregar algo como esto al XML:
<files>
<file src="bin/Release/**/*.*" target="content" />
</files>
Esto tomará todos los archivos y subcarpetas (recursivas) de la carpeta bin/Release
y los colocará en la carpeta de content
del paquete de NuGet.
No tengo idea de qué formato espera OctopusDeploy en los paquetes, pero así es como se incluye una carpeta en el paquete.
EDITAR : Parece que hay algo de documentación sobre esto en el README de OctoPack .