建立舊版符號套件 (.symbols.nupkg)
重要
為符號套件新建議的格式為 .snupkg。 請參閱建立符號套件 (.snupkg)。
.symbols.nupkg 仍受支援,但只基於相容性考慮。
除了建置 nuget.org 或其他來源的套件之外,NuGet 也支援建立可發行至符號伺服器的相關聯符號套件。
建立舊版符號套件
若要建立舊版符號套件,請遵循下列慣例:
- 將主要套件 (含您的程式碼) 命名為
{identifier}.nupkg
,並包含.pdb
檔案以外的所有檔案。 - 將舊版符號套件
{identifier}.symbols.nupkg
命名為 ,並包含您的元件 DLL、.pdb
檔案、XMLDOC 檔案、原始程式檔(請參閱下列各節)。
您可以使用 -Symbols
選項,從 .nuspec
檔案或專案檔建立兩個套件:
nuget pack MyPackage.nuspec -Symbols
nuget pack MyProject.csproj -Symbols
請注意,pack
在 Mac OS X 上需要 Mono 4.4.2,而且無法在 Linux 系統上運作。 在 Mac 上,您也必須將 .nuspec
檔案中的 Windows 路徑名稱轉換成 Unix 模式路徑。
舊版符號套件結構
舊版符號套件可以和連結庫套件相同的方式,以多個目標架構為目標,因此資料夾的結構 lib
應該與主要套件完全相同,只包含 .pdb
DLL 旁的檔案。
例如,以 .NET 4.0 和 Silverlight 4 為目標的舊版符號套件會有下列配置:
\lib
\net40
\MyAssembly.dll
\MyAssembly.pdb
\sl40
\MyAssembly.dll
\MyAssembly.pdb
原始程式檔接著會放在名為 src
的個別特殊資料夾中,而此資料夾必須遵循來源存放庫的相對結構。 這是因為 PDB 包含用來編譯相符 DLL 之原始程式檔的絕對路徑,而且需要在發行程序期間找到它們。 基底路徑 (一般路徑前置詞) 可以去除。例如,請考慮從這些檔案建置的連結庫:
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
除了資料夾之外,舊版符號套件還需要包含此配置:
\src
\Common
\MyClass.cs
\Full
\Properties
\AssemblyInfo.cs
\Silverlight
\Properties
\AssemblyInfo.cs
\MySilverlightExtensions.cs
參考 nuspec 中的檔案
舊版符號套件可以透過慣例、從上一節所述的資料夾結構,或在指令清單的 files
區段中指定其內容來建置。 例如,若要建置上節所示的套件,請在 .nuspec
檔案中使用下列內容:
<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>
另請參閱
- 建立符號套件 (.snupkg) - 符號套件的新建議格式