Vytváření balíčků starších symbolů (.symbols.nupkg)

Důležité

Nový doporučený formát balíčků symbolů je .snupkg. Viz Vytváření balíčků symbolů (.snupkg).
.symbols.nupkg je stále podporován, ale pouze z důvodů kompatibility.

Kromě vytváření balíčků pro nuget.org nebo jiné zdroje podporuje NuGet také vytváření přidružených balíčků symbolů, které lze publikovat na servery symbolů.

Vytvoření staršího balíčku symbolů

Pokud chcete vytvořit starší balíček symbolů, postupujte podle těchto konvencí:

  • Pojmenujte primární balíček (s kódem) {identifier}.nupkg a zahrňte všechny soubory kromě .pdb souborů.
  • Pojmenujte starší balíček {identifier}.symbols.nupkg symbolů a zahrňte knihovnu DLL sestavení, .pdb soubory, soubory XMLDOC, zdrojové soubory (viz následující části).

Oba balíčky můžete vytvořit pomocí -Symbols možnosti, a to buď ze .nuspec souboru, nebo ze souboru projektu:

nuget pack MyPackage.nuspec -Symbols

nuget pack MyProject.csproj -Symbols

Všimněte si, že pack v systému Mac OS X vyžaduje Mono 4.4.2 a v systémech Linux nefunguje. Na Počítači Mac musíte také převést názvy cest systému Windows v .nuspec souboru na cesty ve stylu Unixu.

Struktura balíčku starší verze symbolu

Starší balíček symbolů může cílit na více cílových architektur stejným způsobem jako balíček knihovny, takže struktura lib složky by měla být úplně stejná jako primární balíček, pouze včetně .pdb souborů společně s knihovnou DLL.

Například starší balíček symbolů, který cílí na .NET 4.0 a Silverlight 4, by měl toto rozložení:

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

Zdrojové soubory se pak umístí do samostatné speciální složky s názvem src, která musí následovat po relativní struktuře zdrojového úložiště. Důvodem je to, že soubory PDB obsahují absolutní cesty ke zdrojovým souborům používaným ke kompilaci odpovídající knihovny DLL a musí být nalezeny během procesu publikování. Základní cestu (předpona společné cesty) je možné odstranit. Představte si například knihovnu vytvořenou z těchto souborů:

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 Kromě složky by starší balíček symbolů potřeboval obsahovat toto rozložení:

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

Odkaz na soubory v nuspec

Starší balíček symbolů lze sestavit podle konvencí, ze struktury složek, jak je popsáno v předchozí části, nebo zadáním jeho obsahu v files oddílu manifestu. Pokud chcete například sestavit balíček zobrazený v předchozí části, použijte v .nuspec souboru následující:

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

Viz také