Tworzenie starszych pakietów symboli (.symbols.nupkg)

Ważne

Nowy zalecany format pakietów symboli to .snupkg. Zobacz Tworzenie pakietów symboli (.snupkg).
Plik .symbols.nupkg jest nadal obsługiwany, ale tylko ze względów zgodności.

Oprócz tworzenia pakietów dla nuget.org lub innych źródeł nuGet obsługuje również tworzenie skojarzonych pakietów symboli, które można publikować na serwerach symboli.

Tworzenie starszego pakietu symboli

Aby utworzyć starszy pakiet symboli, wykonaj następujące konwencje:

  • Nazwij pakiet podstawowy (przy użyciu kodu) {identifier}.nupkg i dołącz wszystkie pliki z wyjątkiem .pdb plików.
  • Nazwij starszy pakiet {identifier}.symbols.nupkg symboli i dołącz bibliotekę DLL zestawu, .pdb pliki, pliki XMLDOC, pliki źródłowe (zobacz poniższe sekcje).

Możesz utworzyć oba pakiety z -Symbols opcją .nuspec na podstawie pliku lub pliku projektu:

nuget pack MyPackage.nuspec -Symbols

nuget pack MyProject.csproj -Symbols

Należy pamiętać, że pack program Mono 4.4.2 w systemie Mac OS X nie działa w systemach Linux. Na komputerze Mac należy również przekonwertować nazwy ścieżek systemu Windows w .nuspec pliku na ścieżki stylu systemu Unix.

Starsza struktura pakietu symboli

Starszy pakiet symboli może być przeznaczony dla wielu platform docelowych w taki sam sposób, jak pakiet biblioteki, więc struktura lib folderu powinna być dokładnie taka sama jak pakiet podstawowy, w tym .pdb tylko pliki obok biblioteki DLL.

Na przykład starszy pakiet symboli przeznaczony dla platformy .NET 4.0 i Silverlight 4 będzie miał następujący układ:

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

Pliki źródłowe są następnie umieszczane w oddzielnym folderze specjalnym o nazwie src, który musi być zgodny ze względną strukturą repozytorium źródłowego. Jest to spowodowane tym, że pliki PDB zawierają ścieżki bezwzględne do plików źródłowych używanych do skompilowania zgodnej biblioteki DLL i muszą zostać znalezione podczas procesu publikowania. Ścieżkę podstawową (wspólny prefiks ścieżki) można usunąć. Rozważmy na przykład bibliotekę utworzoną na podstawie następujących plików:

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)

lib Oprócz folderu starszy pakiet symboli musi zawierać ten układ:

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

Odwoływania się do plików w narzędziu nuspec

Starszy pakiet symboli może być kompilowany zgodnie z konwencjami, ze struktury folderów zgodnie z opisem w poprzedniej sekcji lub przez określenie jego zawartości w files sekcji manifestu. Aby na przykład skompilować pakiet pokazany w poprzedniej sekcji, użyj następującego polecenia .nuspec w pliku :

<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>

Zobacz też