Skip to content

Commit a59e07a

Browse files
authored
master to live (NuGet#1157)
* Fix typo in analyzers-conventions.md (NuGet#1039) (NuGet#1040) * metadata updates (NuGet#1044) * metadata updates * fix warning * some additional changes * Update NU3028.md (NuGet#1041) * Update NU3028.md NuGet/Home#7173 * Update NU3028.md * Update NU3028.md * Update cli-ref-environment-variables.md * Don't call .Net Framework "full" * Added the versioning for Revocation mode functionality * Update TOC.md * Karann 4.8 relnotes (NuGet#1055) * Create NuGet-4.8-RTM.md * Update NuGet-4.8-RTM.md * Update NuGet-4.8-RTM.md * Update NuGet-4.8-RTM.md * Update NuGet-4.8-RTM.md * Update NuGet-4.8-RTM.md * Update TOC.md * Update NuGet-Cross-Platform-Authentication-Plugin.md * Update Index.md * Update Supporting-Multiple-Target-Frameworks.md * Update Package-restore-troubleshooting.md (NuGet#1088) * Update Supporting-Multiple-Target-Frameworks.md (NuGet#1086) * Update Creating-a-Package.md (NuGet#1084) * Update nuspec.md (NuGet#1065) * Replace namespaces with prefixes * Be consistent about namespace/prefix reservation * Update the details for IsImplicitlyDefined packages (NuGet#1067) * Update the details for IsImplicitlyDefined packages * Update Package-Manager-UI.md * Update Package-Manager-UI.md * Update Package-Manager-UI.md * PR feedback * Create PackageReference-with-packages-lock-file.md (NuGet#1100) * Create PackageReference-with-packages-lock-file.md * Update PackageReference-with-packages-lock-file.md * Update PackageReference-with-packages-lock-file.md * Fixes #1085 (NuGet#1099) * ; -> : (NuGet#1098) * Revert "Create PackageReference-with-packages-lock-file.md" (NuGet#1101) * Revert "; -> : (NuGet#1098)" This reverts commit 6ffe30a. * Revert "Fixes #1085 (NuGet#1099)" This reverts commit b9b6c2f. * Revert "Create PackageReference-with-packages-lock-file.md (NuGet#1100)" This reverts commit 79f240d. * Update Create-UI-Controls.md * Update TOC.md (NuGet#1125) fixes #1124 Remove the link to docs for creating .NET Standard packages in VS2015, since .NET Core tooling was only pre-release in VS2015. Using the dotnet CLI is recommended over VS2015, if VS2017 can't be used for some reason. * Update Package-References-in-Project-Files.md (NuGet#1119) * Update Package-References-in-Project-Files.md * Update Package-References-in-Project-Files.md * Update Package-References-in-Project-Files.md * Update Package-References-in-Project-Files.md * Update Package-References-in-Project-Files.md * Update Package-References-in-Project-Files.md * Update Package-References-in-Project-Files.md * Replaced staging.nuget.org with int.nugettest.org (NuGet#1132) The staging.nuget.org is deprecated and it is recommended to switch to int.nugettest.org (see NuGet/NuGetGallery#5627). * staging.nuget.org has been deprecated (NuGet#1131) See NuGet/NuGetGallery#5627. * Update Overview-and-Workflow.md (NuGet#1130) * Update Overview-and-Workflow.md Update styling and typo in image caption as a correction for #1129 * Update Overview-and-Workflow.md * Update Package-restore-troubleshooting.md (NuGet#1123) Add missing word. * Add files via upload * Update tool box icon spec (NuGet#1149) * Update tool box icon spec * Update Create-UI-Controls.md * Update Create-UI-Controls.md * CC74600: Unnecessarily nested lists (NuGet#1091) Hello, @karann-msft, This proposed file change comes from NuGet/docs.microsoft.com-nuget.es-es#4 . Could you review this contribution and help to merge if agreed? Many thanks in advance. * fix: typo in authors token (NuGet#1120) Based on issue #1072, I've corrected the docs in the appropriate place. * Fixed typo (NuGet#1117) Corrected the spelling of 'delimeters' to delimiters * Grammar (NuGet#1113) fixed some grammatical errors * Revert "CC74600: Unnecessarily nested lists (NuGet#1091)" (NuGet#1152) This reverts commit 1c8db5f. * Fixed formatting for note (NuGet#1090) * Fix erroneous extra lines in PackageReference documentation (NuGet#1153) This removes some seemingly unintended extra lines introduced by NuGet#1119. * Fixed typo (NuGet#1154) * add configFile option for nugget pack (NuGet#1115) add missing -ConfigFile option for nugget pack * Updated what-is-nuget.md to reflect Issue #1111 (NuGet#1114) Updated Visual Studio Team System to Azure DevOps to reflect Issue #1111 * Add symbols docs. (NuGet#1128) * Add symbols docs. * Updates * Update Symbol-Packages-V2.md * Update Symbol-Packages-V2.md Adding validation info to publish page for Symbols packages. * Feedback * Update * Update * Fix a broken link. * Feedback * Update symbol-package-publish-resource.md * Update Symbol-Packages-V2.md * Feedback * Feedback * Update TOC.md * Rename Symbol-Packages-V2.md to Symbol-Packages-snupkg.md * Update Symbol-Packages.md * Update Symbol-Packages.md * Update Symbol-Packages-snupkg.md * Update Symbol-Packages-snupkg.md * Update Symbol-Packages-snupkg.md * Update cli-ref-pack.md * Update cli-ref-pack.md * Update Symbol-Packages-snupkg.md * Update symbol-package-publish-resource.md
1 parent 09107c5 commit a59e07a

16 files changed

+230
-27
lines changed

docs/TOC.md

Lines changed: 4 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -24,10 +24,10 @@
2424
## [Source and config file transformations](create-packages/source-and-config-file-transformations.md)
2525
## [Creating localized packages](create-packages/creating-localized-packages.md)
2626
## [Prerelease packages](create-packages/prerelease-packages.md)
27-
## [Native packages](create-packages/native-packages.md)
28-
## [Symbol packages](create-packages/symbol-packages.md)
27+
## [Creating Native packages](create-packages/native-packages.md)
28+
## [Creating Symbol packages](create-packages/symbol-packages-snupkg.md)
2929
## [Signing packages](create-packages/sign-a-package.md)
30-
## [Publish a package](create-packages/publish-a-package.md)
30+
## [Publishing a package](create-packages/publish-a-package.md)
3131
## Guides
3232
### [Create UWP packages](guides/create-uwp-packages.md)
3333
### [Creating UI controls as NuGet packages](guides/create-UI-controls.md)
@@ -198,6 +198,7 @@
198198
## [How-to: query for all packages using the API](guides/api/query-for-all-published-packages.md)
199199
## [Service index](api/service-index.md)
200200
## [Push and delete](api/package-publish-resource.md)
201+
## [Push symbol packages](api/symbol-package-publish-resource.md)
201202
## [Search](api/search-query-service-resource.md)
202203
## [Autocomplete](api/search-autocomplete-service-resource.md)
203204
## [Package metadata](api/registration-base-url-resource.md)

docs/api/overview.md

Lines changed: 5 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -53,16 +53,17 @@ Non-breaking protocol changes have been made to the API since it was first relea
5353

5454
The **service index** describes a variety of resources. The current set of supported resources are as follows:
5555

56-
Resource name | Required | Description
57-
---------------------------------------------------------------------- | -------- | -----------
56+
Resource name | Required | Description
57+
---------------------------------------------------------------------- | -------- | -----------
5858
[`PackagePublish`](package-publish-resource.md) | yes | Push and delete (or unlist) packages.
5959
[`SearchQueryService`](search-query-service-resource.md) | yes | Filter and search for packages by keyword.
6060
[`RegistrationsBaseUrl`](registration-base-url-resource.md) | yes | Get package metadata.
6161
[`PackageBaseAddress`](package-base-address-resource.md) | yes | Get package content (.nupkg).
6262
[`SearchAutocompleteService`](search-autocomplete-service-resource.md) | no | Discover package IDs and versions by substring.
6363
[`ReportAbuseUriTemplate`](report-abuse-resource.md) | no | Construct a URL to access a "report abuse" web page.
64-
[`RepositorySignatures`](repository-signatures-resource.md) | no | Get certificates used for repository signing.
65-
[`Catalog`](catalog-resource.md) | no | Full record of all package events.
64+
[`RepositorySignatures`](repository-signatures-resource.md) | no | Get certificates used for repository signing.
65+
[`Catalog`](catalog-resource.md) | no | Full record of all package events.
66+
[`SymbolPackagePublish`](symbol-package-publish-resource.md) | no | Push symbol packages.
6667

6768
In general, all non-binary data returned by a API resource are serialized using JSON. The response schema
6869
returned by each resource in the service index is defined individually for that resource. For more information about
Lines changed: 78 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,78 @@
1+
---
2+
title: Push Symbol Packages, NuGet API | Microsoft Docs
3+
author:
4+
- cristinamanum
5+
- kraigb
6+
ms.author:
7+
- cmanu
8+
- kraigb
9+
manager: skofman
10+
ms.date: 10/30/2018
11+
ms.topic: reference
12+
ms.prod: nuget
13+
ms.technology: null
14+
description: The publish service allows clients to publish new symbol packages.
15+
keywords: NuGet API push symbol package
16+
ms.reviewer: karann
17+
---
18+
19+
# Push Symbol Packages
20+
21+
It is possible to push symbols packages ([snupkg](../create-packages/Symbol-Packages-snupkg.md)) using the NuGet V3 API.
22+
These operations are based off of the `SymbolPackagePublish` resource found in the [service index](service-index.md).
23+
24+
## Versioning
25+
26+
The following `@type` value is used:
27+
28+
@type value | Notes
29+
-------------------- | -----
30+
SymbolPackagePublish/4.9.0 | The initial release
31+
32+
## Base URL
33+
34+
The base URL for the following APIs is the value of the `@id` property of the `SymbolPackagePublish/4.9.0` resource in the
35+
package source's [service index](service-index.md). For the documentation below, nuget.org's URL is used. Consider
36+
`https://www.nuget.org/api/v2/symbolpackage` as a placeholder for the `@id` value found in the service index.
37+
38+
## HTTP methods
39+
40+
The `PUT` HTTP method is supported by this resource.
41+
42+
## Push a symbol package
43+
44+
nuget.org supports pushing new symbol packages format ([snupkg](../create-packages/Symbol-Packages-snupkg.md)) using the following API.
45+
46+
PUT https://www.nuget.org/api/v2/symbolpackage
47+
48+
Symbol packages with the same ID and version
49+
can be submitted multiple times. A symbol package will be rejected in the following cases.
50+
- A package with the same ID and version does not exist.
51+
- A symbol package with the same ID and version was pushed but is not yet published.
52+
- The symbol package ([snupkg](../create-packages/Symbol-Packages-snupkg.md)) is invalid (see [symbol package constraints](../create-packages/Symbol-Packages-snupkg.md)).
53+
54+
### Request parameters
55+
56+
Name | In | Type | Required | Notes
57+
-------------- | ------ | ------ | -------- | -----
58+
X-NuGet-ApiKey | Header | string | yes | For example, `X-NuGet-ApiKey: {USER_API_KEY}`
59+
60+
The API key is an opaque string gotten from the package source by the user and configured into the client. No
61+
particular string format is mandated but the length of the API key should not exceed a reasonable size for HTTP header
62+
values.
63+
64+
### Request body
65+
66+
The request body for the symbol push is same as with the request body of a package push request (see [package push and delete](package-publish-resource.md)).
67+
68+
### Response
69+
70+
Status Code | Meaning
71+
----------- | -------
72+
201 | The symbol package was successfully pushed.
73+
400 | The provided symbol package is invalid.
74+
401 | The user is not authorized to perform this action.
75+
404 | A corresponding package with the provided ID and version does not exist.
76+
409 | A symbol package with the provided ID and version was pushed but it is not available yet.
77+
413 | The package is too large.
78+

docs/consume-packages/Overview-and-Workflow.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -13,7 +13,7 @@ Between nuget.org and private package galleries that your organization might est
1313

1414
![Flow of going to a package source, finding a package, installing it in a project, then adding a using statement and calls to the package API](media/Overview-01-GeneralFlow.png)
1515

16-
\* _Visual Studio and dotnet.ex` only. The nuget install command does not modify project files or packages.config; entries must be managed manually._
16+
\* _Visual Studio and `dotnet.exe` only. The `nuget install` command does not modify project files or the `packages.config` file; entries must be managed manually._
1717

1818
For further details, see [Finding and Choosing Packages](../consume-packages/finding-and-choosing-packages.md) and [Different ways to install a NuGet package](ways-to-install-a-package.md).
1919

docs/consume-packages/Package-Restore.md

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -57,9 +57,9 @@ Package restore is primarily enabled through **Tools > Options > NuGet Package M
5757
</packageRestore>
5858
</configuration>
5959
```
60-
<br/>
61-
> [!Note]
62-
> The `packageRestore/enabled` setting can be overridden globally by setting an environment variable called **EnableNuGetPackageRestore** with a value of TRUE or FALSE before launching Visual Studio or starting a build.
60+
61+
> [!Note]
62+
> The `packageRestore/enabled` setting can be overridden globally by setting an environment variable called **EnableNuGetPackageRestore** with a value of TRUE or FALSE before launching Visual Studio or starting a build.
6363

6464
- **Automatically check for missing packages during build in Visual Studio**: controls automatic restore by changing the `packageRestore/automatic` setting in the `NuGet.Config` file as shown below (`%AppData%\NuGet\NuGet.Config` on Windows, `~/.nuget/NuGet/NuGet.Config` on Mac/Linux). When this option is set, running a build from Visual Studio automatically restores any missing packages. The option does not affect builds run from the command line using MSBuild.
6565

@@ -120,4 +120,4 @@ To avoid using the cache for HTTP sources, do one of the following:
120120

121121
## Troubleshooting
122122

123-
See [Troubleshooting package restore](package-restore-troubleshooting.md).
123+
See [Troubleshooting package restore](package-restore-troubleshooting.md).

docs/consume-packages/Package-restore-troubleshooting.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -37,7 +37,7 @@ This project references NuGet package(s) that are missing on this computer.
3737
Use NuGet Package Restore to download them. The missing file is {name}.
3838
```
3939

40-
This error occurs you attempt to build a project that contains references to one or more NuGet packages, but those packages are not presently installed on the computer or in the project.
40+
This error occurs when you attempt to build a project that contains references to one or more NuGet packages, but those packages are not presently installed on the computer or in the project.
4141

4242
- When using the PackageReference management format, the error means that the package is not installed in the *global-packages* folder as described on [Managing the global packages and cache folders](managing-the-global-packages-and-cache-folders.md).
4343
- When using `packages.config`, the error means that the package is not installed in the `packages` folder at the solution root.

docs/create-packages/Creating-a-Package.md

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -46,7 +46,7 @@ Required properties:
4646

4747
- The package identifier, which must be unique across the gallery that hosts the package.
4848
- A specific version number in the form *Major.Minor.Patch[-Suffix]* where *-Suffix* identifies [pre-release versions](prerelease-packages.md)
49-
- The package title as it should appears on the host (like nuget.org)
49+
- The package title as it should appear on the host (like nuget.org)
5050
- Author and owner information.
5151
- A long description of the package.
5252

@@ -152,7 +152,7 @@ You then edit the file by hand so that it describes the exact content you want i
152152
153153
### From a convention-based working directory
154154

155-
Because a NuGet package is just a ZIP file that's been renamed with the `.nupkg` extension, its often easiest to create the folder structure you want on your local file system, then create the `.nuspec` file directly from that structure. The `nuget pack` command then automatically adds all files in that folder structure (excluding any folders that begin with `.`, allowing you keep private files in the same structure).
155+
Because a NuGet package is just a ZIP file that's been renamed with the `.nupkg` extension, it's often easiest to create the folder structure you want on your local file system, then create the `.nuspec` file directly from that structure. The `nuget pack` command then automatically adds all files in that folder structure (excluding any folders that begin with `.`, allowing you to keep private files in the same structure).
156156

157157
The advantage to this approach is that you don't need to specify in the manifest which files you want to include in the package (as explained later in this topic). You can simply have your build process produce the exact folder structure that goes into the package, and you can easily include other files that might not be part of a project otherwise:
158158

@@ -172,7 +172,7 @@ The folder conventions are as follows:
172172
| build | MSBuild `.targets` and `.props` files | Automatically inserted into the project file or `project.lock.json` (NuGet 3.x+). |
173173
| tools | Powershell scripts and programs accessible from the Package Manager Console | The `tools` folder is added to the `PATH` environment variable for the Package Manager Console only (Specifically, *not* to the `PATH` as set for MSBuild when building the project). |
174174

175-
Because your folder structure can contain any number of assemblies for any number of target frameworks, this method is necessary when creating packages that support multiple frameworks
175+
Because your folder structure can contain any number of assemblies for any number of target frameworks, this method is necessary when creating packages that support multiple frameworks.
176176

177177
In any case, once you have the desired folder structure in place, run the following command in that folder to create the `.nuspec` file:
178178

@@ -316,7 +316,7 @@ When you include a file named `readme.txt` in the package root, Visual Studio di
316316

317317
In some cases, you might want to add custom build targets or properties in projects that consume your package, such as running a custom tool or process during build. You do this by placing files in the form `<package_id>.targets` or `<package_id>.props` (such as `Contoso.Utility.UsefulStuff.targets`) within the `\build` folder of the project.
318318

319-
Files in the root `\build` folder are considered suitable for all target frameworks. To provide framework-specific files, first place those within appropriate subfolders, such as the following:
319+
Files in the root `\build` folder are considered suitable for all target frameworks. To provide framework-specific files, first place them within appropriate subfolders, such as the following:
320320

321321
\build
322322
\netstandard1.4

docs/create-packages/Source-and-Config-File-Transformations.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -109,7 +109,7 @@ To see the effect of installing and uninstalling the package, create a new ASP.N
109109

110110
### XDT transforms
111111

112-
You can modify config files using [XDT syntax](https://msdn.microsoft.com/library/dd465326.aspx). You can also have NuGet replace tokens with [project properties](/dotnet/api/vslangproj.projectproperties?view=visualstudiosdk-2017&viewFallbackFrom=netframework-4.7) by including the property name within `$` delimeters (case-insensitive).
112+
You can modify config files using [XDT syntax](https://msdn.microsoft.com/library/dd465326.aspx). You can also have NuGet replace tokens with [project properties](/dotnet/api/vslangproj.projectproperties?view=visualstudiosdk-2017&viewFallbackFrom=netframework-4.7) by including the property name within `$` delimiters (case-insensitive).
113113
114114
For example, the following `app.config.install.xdt` file will insert an `appSettings` element into `app.config` containing the `FullPath`, `FileName`, and `ActiveConfigurationSettings` values from the project:
115115

0 commit comments

Comments
 (0)