レガシ シンボル パッケージ (.symbols.nupkg) の作成
重要
シンボル パッケージに推奨される新しい形式は .snupkg です。 「シンボル パッケージ (.snupkg) の作成」を参照してください。
.symbols.nupkg は、互換性のためにのみ、引き続きサポートされます。
nuget.org やその他のソースに向けたパッケージの構築だけでなく、NuGet では、シンボル サーバーに公開可能な関連するシンボル パッケージの作成もサポートされています。
レガシ シンボル パッケージの作成
レガシ シンボル パッケージを作成するには、次の規則に従います。
- (コードを含む) プライマリ パッケージに
{identifier}.nupkg
という名前を付け、.pdb
ファイルを除くすべてのファイルを含めます。 - レガシ シンボル パッケージに
{identifier}.symbols.nupkg
という名前を付け、アセンブリ DLL、.pdb
ファイル、XMLDOC ファイル、ソース ファイルを含めます (後続のセクションを参照)。
いずれのパッケージも、.nuspec
ファイルまたはプロジェクト ファイルから、-Symbols
オプションで作成できます。
nuget pack MyPackage.nuspec -Symbols
nuget pack MyProject.csproj -Symbols
pack
には Mac OS X の場合は Mono 4.4.2 が必要であり、Linux 1 システムでは動作しないことに注意してください。 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) の作成 - シンボル パッケージに推奨される新しい形式です