Existe alguma maneira de fazer um pacote NuGet usando o código compilado no modo de lançamento? Ou há algum motivo para eu só publicar (disponibilizar localmente, neste caso) pacotes compilados no modo de depuração?
Toda vez que eu chamo nuget pack
do diretório do meu projeto, onde tenho o arquivo nuspec abaixo, no código que apenas compilei no modo de lançamento, ele reclama por não encontrar a DLL na pasta de depuração ( "\bin\Debug\SomeProject.dll"
). Se eu compilá-lo em modo de depuração, esses arquivos estarão lá e serão empacotados como deveriam.
<?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
chamadas futuras , edite o arquivo de projeto XML em seu editor de texto favorito.<file src="bin\Release\*.pdb" target="lib\net40\" />
) ou publicar um pacote de símbolos junto com seu pacote DLL.Se você estiver usando um evento pós-compilação e quiser criar um pacote, seja usando a configuração Debug ou Release, você pode configurar a linha de comando do evento pós-compilação da seguinte maneira:
fonte
Para que o NuGet use automaticamente o modo Release ao executar
nuget pack
, faça o seguinte:.csproj
arquivo em um editor de texto.Encontre a seguinte linha:
Debug
porRelease
.fonte
As respostas aqui são boas, mas eu estava tendo muitos problemas com isso para um projeto .NET Standard. Eu tinha um projeto que iria publicar apenas binários de lançamento, mas não estava respeitando meu caminho de saída de compilação padrão.
Eu adicionei isso ao meu CSProj, o que me permitiu usar a resposta aceita aqui .
fonte