¿Hay alguna forma de crear un paquete NuGet utilizando código compilado en modo de lanzamiento? ¿O hay alguna razón por la que solo debería publicar (hacer disponibles localmente, en este caso) paquetes compilados en modo de depuración?
Cada vez que llamo nuget pack
desde el directorio de mi proyecto, donde tengo el archivo nuspec a continuación, en el código que solo he compilado en modo de lanzamiento, se queja de no encontrar la DLL en la carpeta de depuración ( "\bin\Debug\SomeProject.dll"
). Si lo compilo en modo de depuración, esos archivos están ahí y los empaqueta como debería.
<?xml version="1.0"?>
<package xmlns="http://schemas.microsoft.com/packaging/2010/07/nuspec.xsd">
<metadata>
<id>$id$</id>
<version>$version$</version>
<authors>$author$</authors>
<owners>$author$</owners>
<iconUrl>http://somewhere/project.png</iconUrl>
<requireLicenseAcceptance>false</requireLicenseAcceptance>
<description>$description$</description>
</metadata>
</package>
nuget pack
llamadas futuras , edite el archivo XML del proyecto en su editor de texto favorito.<file src="bin\Release\*.pdb" target="lib\net40\" />
) o publicar un paquete de símbolos junto con su paquete DLL.Si está utilizando un evento posterior a la compilación y desea crear un paquete, ya sea utilizando la configuración de depuración o versión, puede configurar la línea de comandos del evento posterior a la compilación de la siguiente manera:
fuente
Para que NuGet use automáticamente el modo de lanzamiento cuando se ejecuta
nuget pack
, haga lo siguiente:.csproj
archivo en un editor de texto.Busque la siguiente línea:
Debug
conRelease
.fuente
Las respuestas aquí son buenas, pero estaba teniendo muchos problemas con esto para un proyecto .NET Standard. Tenía un proyecto que solo iba a publicar binarios de lanzamiento, pero no respetaba mi ruta de salida de compilación predeterminada.
Agregué esto a mi CSProj que luego me permitió usar la respuesta aceptada aquí .
fuente