Bagikan melalui


Membuat paket simbol warisan (.symbols.nupkg)

Penting

Format baru yang direkomendasikan untuk paket simbol adalah .snupkg. Lihat Membuat paket simbol (.snupkg).
.symbols.nupkg masih didukung tetapi hanya karena alasan kompatibilitas.

Selain membangun paket untuk nuget.org atau sumber lain, NuGet juga mendukung pembuatan paket simbol terkait yang dapat diterbitkan ke server simbol.

Membuat paket simbol warisan

Untuk membuat paket simbol warisan, ikuti konvensi berikut:

  • Beri nama paket utama (dengan kode Anda) {identifier}.nupkg dan sertakan semua file Anda kecuali .pdb file.
  • Beri nama paket {identifier}.symbols.nupkg simbol warisan dan sertakan DLL perakitan, file, .pdb file XMLDOC, file sumber (lihat bagian berikut).

Anda dapat membuat kedua paket dengan -Symbols opsi , baik dari .nuspec file atau file proyek:

nuget pack MyPackage.nuspec -Symbols

nuget pack MyProject.csproj -Symbols

Perhatikan bahwa pack memerlukan Mono 4.4.2 di Mac OS X dan tidak berfungsi pada sistem Linux. Di Mac, Anda juga harus mengonversi nama jalur Windows dalam file ke .nuspec jalur gaya Unix.

Struktur paket simbol warisan

Paket simbol warisan dapat menargetkan beberapa kerangka kerja target dengan cara yang sama seperti yang dilakukan paket pustaka, sehingga struktur lib folder harus sama persis dengan paket utama, hanya termasuk .pdb file bersama DLL.

Misalnya, paket simbol warisan yang menargetkan .NET 4.0 dan Silverlight 4 akan memiliki tata letak ini:

\lib
    \net40
        \MyAssembly.dll
        \MyAssembly.pdb
    \sl40
        \MyAssembly.dll
        \MyAssembly.pdb

File sumber kemudian ditempatkan di folder khusus terpisah bernama src, yang harus mengikuti struktur relatif repositori sumber Anda. Ini karena PDB berisi jalur absolut ke file sumber yang digunakan untuk mengkompilasi DLL yang cocok, dan mereka perlu ditemukan selama proses penerbitan. Jalur dasar (awalan jalur umum) dapat dilucuti. Misalnya, pertimbangkan pustaka yang dibangun dari file-file ini:

C:\Projects
    \MyProject
        \Common
            \MyClass.cs
        \Full
            \Properties
                \AssemblyInfo.cs
            \MyAssembly.csproj (producing \lib\net40\MyAssembly.dll)
        \Silverlight
            \Properties
                \AssemblyInfo.cs
            \MySilverlightExtensions.cs
            \MyAssembly.csproj (producing \lib\sl4\MyAssembly.dll)

Selain lib folder, paket simbol warisan harus berisi tata letak ini:

\src
    \Common
        \MyClass.cs
    \Full
        \Properties
            \AssemblyInfo.cs
    \Silverlight
        \Properties
            \AssemblyInfo.cs
        \MySilverlightExtensions.cs

Mengacu pada file dalam nuspec

Paket simbol warisan dapat dibangun oleh konvensi, dari struktur folder seperti yang dijelaskan di bagian sebelumnya, atau dengan menentukan kontennya di files bagian manifes. Misalnya, untuk membangun paket yang ditampilkan di bagian sebelumnya, gunakan yang berikut ini dalam .nuspec file:

<files>
    <file src="Full\bin\Debug\*.dll" target="lib\net40" />
    <file src="Full\bin\Debug\*.pdb" target="lib\net40" />
    <file src="Silverlight\bin\Debug\*.dll" target="lib\sl40" />
    <file src="Silverlight\bin\Debug\*.pdb" target="lib\sl40" />
    <file src="**\*.cs" target="src" />
</files>

Lihat juga