Hinweis
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, sich anzumelden oder das Verzeichnis zu wechseln.
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, das Verzeichnis zu wechseln.
Von Bedeutung
Das neue empfohlene Format für Symbolpakete ist .snupkg. Siehe Erstellen von Symbolpaketen (.snupkg).
.symbols.nupkg wird weiterhin unterstützt, aber nur aus Kompatibilitätsgründen.
Neben dem Erstellen von Paketen für nuget.org oder andere Quellen unterstützt NuGet auch das Erstellen zugeordneter Symbolpakete, die auf Symbolservern veröffentlicht werden können.
Erstellen eines Alt-Symbolpakets
Befolgen Sie die folgenden Konventionen, um ein Legacysymbolpaket zu erstellen:
- Benennen Sie das primäre Paket (mit Ihrem Code),
{identifier}.nupkgund schließen Sie alle Ihre Dateien mit Ausnahme von.pdbDateien ein. - Benennen Sie das Legacysymbolpaket
{identifier}.symbols.nupkg, und schließen Sie Ihre Assembly-DLL,.pdbDateien, XMLDOC-Dateien, Quelldateien ein (siehe die folgenden Abschnitte).
Sie können beide Pakete mit der -Symbols Option erstellen, entweder aus einer .nuspec Datei oder einer Projektdatei:
nuget pack MyPackage.nuspec -Symbols
nuget pack MyProject.csproj -Symbols
Beachten Sie, dass pack Mono 4.4.2 unter Mac OS X erforderlich ist und auf Linux-Systemen nicht funktioniert. Auf einem Mac müssen Sie auch in der .nuspec Datei Windows-Pfadnamen in Unix-Pfade konvertieren.
Alt-Symbolpaket-Struktur
Ein Legacysymbolpaket kann auf die gleiche Weise auf mehrere Zielframeworks abzielen wie ein Bibliothekspaket, sodass die Struktur des lib Ordners genau mit dem primären Paket identisch sein sollte, nur einschließlich .pdb Dateien zusammen mit der DLL.
Ein Legacysymbolpaket, das auf .NET 4.0 und Silverlight 4 ausgerichtet ist, hätte z. B. dieses Layout:
\lib
\net40
\MyAssembly.dll
\MyAssembly.pdb
\sl40
\MyAssembly.dll
\MyAssembly.pdb
Quelldateien werden dann in einem separaten speziellen Ordner namens srcplatziert, der der relativen Struktur Ihres Quell-Repositorys folgen muss. Dies liegt daran, dass PDBs absolute Pfade zu Quelldateien enthalten, die zum Kompilieren der entsprechenden DLL verwendet werden, und sie müssen während des Veröffentlichungsprozesses gefunden werden. Ein Basispfad (allgemeines Pfadpräfix) kann entfernt werden. Betrachten Sie beispielsweise eine Bibliothek, die aus diesen Dateien erstellt wurde:
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)
Neben dem lib Ordner müsste ein Legacy-Symbolpaket dieses Layout enthalten.
\src
\Common
\MyClass.cs
\Full
\Properties
\AssemblyInfo.cs
\Silverlight
\Properties
\AssemblyInfo.cs
\MySilverlightExtensions.cs
Verweisen auf Dateien in der Nuspec
Ein Legacysymbolpaket kann, wie im vorherigen Abschnitt beschrieben, nach Konventionen aus einer Ordnerstruktur erstellt werden oder durch Angeben des Inhalts im files-Abschnitt des Manifests. Wenn Sie beispielsweise das im vorherigen Abschnitt gezeigte Paket erstellen möchten, verwenden Sie folgendes in der .nuspec Datei:
<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>
Siehe auch
- Erstellen von Symbolpaketen (.snupkg) – Das neue empfohlene Format für Symbolpakete