Apakah ada cara untuk membuat paket NuGet menggunakan kode yang dikompilasi dalam mode rilis? Atau adakah alasan mengapa saya hanya mempublikasikan (menyediakan secara lokal, dalam kasus ini) paket yang dikompilasi dalam mode debug?
Setiap kali saya menelepon nuget pack
dari direktori proyek saya, di mana saya memiliki file nuspec di bawah ini, pada kode yang hanya saya kompilasi dalam mode rilis, ia mengeluh tentang tidak menemukan DLL di folder debug ( "\bin\Debug\SomeProject.dll"
). Jika saya mengkompilasinya dalam mode debug, file-file itu ada di sana dan mengemasnya sebagaimana mestinya.
<?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
panggilan di masa mendatang , edit file proyek XML di editor teks favorit Anda.<file src="bin\Release\*.pdb" target="lib\net40\" />
) atau mempublikasikan paket simbol di samping paket DLL Anda.Jika Anda menggunakan peristiwa post-build dan ingin membuat paket baik menggunakan konfigurasi Debug atau Release, Anda dapat menyiapkan commandline peristiwa post-build seperti ini:
sumber
Agar NuGet secara otomatis menggunakan mode Rilis saat Anda menjalankan
nuget pack
, lakukan hal berikut:.csproj
file Anda di editor teks.Temukan baris berikut:
Debug
denganRelease
.sumber
Jawabannya di sini bagus, tetapi saya mengalami banyak masalah dengan ini untuk proyek .NET Standard. Saya memiliki proyek yang hanya akan menerbitkan binari Rilis, tetapi itu tidak menghormati jalur keluaran build default saya.
Saya menambahkan ini ke CSProj saya yang kemudian memungkinkan saya menggunakan jawaban yang diterima di sini .
sumber