Skip to content

Commit 9c4d783

Browse files
Merge pull request #12013 from dotnet/main
Merge main into live
2 parents 318d1b0 + c6ef878 commit 9c4d783

File tree

7 files changed

+32
-8
lines changed

7 files changed

+32
-8
lines changed

.github/policies/disallow-edits.yml

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -19,6 +19,9 @@ configuration:
1919
excludedFiles:
2020
- xml/Microsoft.Extensions.FileSystemGlobbing/*
2121
- xml/Microsoft.Extensions.FileSystemGlobbing.*/*
22+
- filesMatchPattern:
23+
matchAny: true
24+
pattern: xml/System.CommandLine*/*
2225
- filesMatchPattern:
2326
matchAny: true
2427
pattern: xml/System.Composition/*

README.md

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -12,6 +12,9 @@ To contribute, see:
1212

1313
- The [.NET Contributor Guide :ledger:](https://learn.microsoft.com/contribute/dotnet/dotnet-contribute) for instructions on procedures we use.
1414
- Issues labeled [`help wanted` :label:](https://github.com/dotnet/dotnet-api-docs/issues?q=is%3Aopen+is%3Aissue+label%3A%22help+wanted%22+) for ideas.
15+
- The API reference docs for some assemblies are maintained in the assembly's source code outside this repo. For those assemblies, edits to the XML here are auto-generated and ported, so docs for APIs in those assemblies should be updated by editing the source code comments. For more information, see [here](https://github.com/dotnet/runtime/blob/main/docs/coding-guidelines/adding-api-guidelines.md#documentation).
16+
17+
Namespaces and types whose docs are maintained in the assembly's source code repo set the [`open_to_public_contributors`](https://github.com/dotnet/dotnet-api-docs/blob/0ddbf94c587e7bdbbadc813a8b58fc4160a47b1f/docfx.json#L164) metadata to `false`. (That metadata disables the Edit button on the published docs.)
1518

1619
## :bookmark_tabs: Code of conduct
1720

docfx.json

Lines changed: 6 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -147,6 +147,7 @@
147147
"ms.topic": {
148148
"api/Microsoft.Extensions**": "generated-reference",
149149
"api/Microsoft.Extensions.FileSystemGlobbing**": "reference",
150+
"api/System.CommandLine**": "generated-reference",
150151
"api/System.Composition**": "generated-reference",
151152
"api/System.Diagnostics.EventLog.Messages**": "generated-reference",
152153
"api/System.Formats.Asn1**": "generated-reference",
@@ -163,18 +164,20 @@
163164
},
164165
"open_to_public_contributors": {
165166
"api/Microsoft.Extensions**": false,
167+
"api/System.CommandLine**": false,
166168
"api/System.Composition**": false,
167169
"api/System.Diagnostics.EventLog.Messages**": false,
168170
"api/System.Formats.Asn1**": false,
169171
"api/System.Formats.Cbor**": false,
170172
"api/System.Formats.Nrbf**": false,
171-
"api/System.Linq.AsyncEnumerable.yml": false,
172-
"api/System.Linq.IOrderedAsyncEnumerable-1.yml": false,
173173
"api/System.Net.ServerSentEvents**": false,
174174
"api/System.Numerics.Tensors**": false,
175+
"api/System.Runtime.Serialization.Schema**": false,
176+
177+
"api/System.Linq.AsyncEnumerable.yml": false,
178+
"api/System.Linq.IOrderedAsyncEnumerable-1.yml": false,
175179
"api/System.Runtime.Serialization.ISerializationCodeDomSurrogateProvider.yml": false,
176180
"api/System.Runtime.Serialization.ImportOptions.yml": false,
177-
"api/System.Runtime.Serialization.Schema**": false,
178181
"api/System.Runtime.Serialization.XsdDataContractExporter.yml": false
179182
}
180183
},

xml/System.Diagnostics.Tracing/EventSourceSettings.xml

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -137,7 +137,7 @@
137137
</ReturnValue>
138138
<MemberValue>4</MemberValue>
139139
<Docs>
140-
<summary>The ETW listener should use a manifest-based format when raising events. Setting this option is a directive to the ETW listener should use manifest-based format when raising events. This is the default option when defining a type derived from <see cref="T:System.Diagnostics.Tracing.EventSource" /> using one of the protected <see cref="T:System.Diagnostics.Tracing.EventSource" /> constructors.</summary>
140+
<summary>The ETW listener should use a manifest-based format when raising events. This is the default option when defining a type derived from <see cref="T:System.Diagnostics.Tracing.EventSource" /> using one of the protected <see cref="T:System.Diagnostics.Tracing.EventSource" /> constructors. This format has lower per-event serialization overhead compared to <see cref="F:System.Diagnostics.Tracing.EventSourceSettings.EtwSelfDescribingEventFormat" />. For more information, see <see href="/dotnet/fundamentals/runtime-libraries/system-diagnostics-tracing-eventsource#self-describing-tracelogging-vs-manifest-event-formats">Self-describing vs. manifest event formats</see>.</summary>
141141
</Docs>
142142
</Member>
143143
<Member MemberName="EtwSelfDescribingEventFormat">
@@ -177,7 +177,7 @@
177177
</ReturnValue>
178178
<MemberValue>8</MemberValue>
179179
<Docs>
180-
<summary>The ETW listener should use self-describing event format. This is the default option when creating a new instance of the <see cref="T:System.Diagnostics.Tracing.EventSource" /> using one of the public <see cref="T:System.Diagnostics.Tracing.EventSource" /> constructors.</summary>
180+
<summary>The ETW listener should use self-describing event format. This is the default option when creating a new instance of the <see cref="T:System.Diagnostics.Tracing.EventSource" /> using one of the public <see cref="T:System.Diagnostics.Tracing.EventSource" /> constructors. This format has more capabilities and better compatibility with listeners that don't use the TraceEvent library, but has higher per-event serialization overhead compared to <see cref="F:System.Diagnostics.Tracing.EventSourceSettings.EtwManifestEventFormat" />. For more information, see <see href="/dotnet/fundamentals/runtime-libraries/system-diagnostics-tracing-eventsource#self-describing-tracelogging-vs-manifest-event-formats">Self-describing vs. manifest event formats</see>.</summary>
181181
</Docs>
182182
</Member>
183183
<Member MemberName="ThrowOnEventWriteErrors">

xml/System.Formats.Tar/TarFile.xml

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -223,6 +223,7 @@
223223
<see langword="true" /> to overwrite files and directories in <paramref name="destinationDirectoryName" />; <see langword="false" /> to avoid overwriting, and throw if any files or directories are found with existing names.</param>
224224
<summary>Extracts the contents of a stream that represents a tar archive into the specified directory.</summary>
225225
<remarks>
226+
<para>If a symbolic link or junction in the tar archive results in a file being extracted outside the specified <paramref name="destinationDirectoryName" />, an <see cref="T:System.IO.IOException" /> is thrown to ensure extraction remains within the same directory.</para>
226227
<para>Files of type <see cref="F:System.Formats.Tar.TarEntryType.BlockDevice" />, <see cref="F:System.Formats.Tar.TarEntryType.CharacterDevice" />, or <see cref="F:System.Formats.Tar.TarEntryType.Fifo" /> can only be extracted in Unix platforms.</para>
227228
<para>Elevation is required to extract a <see cref="F:System.Formats.Tar.TarEntryType.BlockDevice" /> or <see cref="F:System.Formats.Tar.TarEntryType.CharacterDevice" /> to disk.</para>
228229
</remarks>
@@ -273,6 +274,7 @@ Extracting one of the tar entries would have resulted in a file outside the spec
273274
<see langword="true" /> to overwrite files and directories in <paramref name="destinationDirectoryName" />; <see langword="false" /> to avoid overwriting, and throw if any files or directories are found with existing names.</param>
274275
<summary>Extracts the contents of a tar file into the specified directory.</summary>
275276
<remarks>
277+
<para>If a symbolic link or junction in the tar archive results in a file being extracted outside the specified <paramref name="destinationDirectoryName" />, an <see cref="T:System.IO.IOException" /> is thrown to ensure extraction remains within the same directory.</para>
276278
<para>Files of type <see cref="F:System.Formats.Tar.TarEntryType.BlockDevice" />, <see cref="F:System.Formats.Tar.TarEntryType.CharacterDevice" />, or <see cref="F:System.Formats.Tar.TarEntryType.Fifo" /> can only be extracted in Unix platforms.</para>
277279
<para>Elevation is required to extract a <see cref="F:System.Formats.Tar.TarEntryType.BlockDevice" /> or <see cref="F:System.Formats.Tar.TarEntryType.CharacterDevice" /> to disk.</para>
278280
</remarks>
@@ -322,6 +324,7 @@ Extracting one of the tar entries would have resulted in a file outside the spec
322324
<summary>Asynchronously extracts the contents of a stream that represents a tar archive into the specified directory.</summary>
323325
<returns>A task that represents the asynchronous extraction operation.</returns>
324326
<remarks>
327+
<para>If a symbolic link or junction in the tar archive results in a file being extracted outside the specified <paramref name="destinationDirectoryName" />, an <see cref="T:System.IO.IOException" /> is thrown to ensure extraction remains within the same directory.</para>
325328
<para>Files of type <see cref="F:System.Formats.Tar.TarEntryType.BlockDevice" />, <see cref="F:System.Formats.Tar.TarEntryType.CharacterDevice" />, or <see cref="F:System.Formats.Tar.TarEntryType.Fifo" /> can only be extracted in Unix platforms.</para>
326329
<para>Elevation is required to extract a <see cref="F:System.Formats.Tar.TarEntryType.BlockDevice" /> or <see cref="F:System.Formats.Tar.TarEntryType.CharacterDevice" /> to disk.</para>
327330
<para>This method stores in the task it returns all non-usage exceptions that the method's synchronous counterpart can throw. If an exception is stored into the returned task, that exception will be thrown when the task is awaited. Usage exceptions, such as <see cref="T:System.ArgumentException" />, are still thrown synchronously. For the stored exceptions, see the exceptions thrown by <see cref="M:System.Formats.Tar.TarFile.ExtractToDirectory(System.IO.Stream,System.String,System.Boolean)" />.</para>
@@ -376,6 +379,7 @@ Extracting one of the tar entries would have resulted in a file outside the spec
376379
<summary>Asynchronously extracts the contents of a tar file into the specified directory.</summary>
377380
<returns>A task that represents the asynchronous extraction operation.</returns>
378381
<remarks>
382+
<para>If a symbolic link or junction in the tar archive results in a file being extracted outside the specified <paramref name="destinationDirectoryName" />, an <see cref="T:System.IO.IOException" /> is thrown to ensure extraction remains within the same directory.</para>
379383
<para>Files of type <see cref="F:System.Formats.Tar.TarEntryType.BlockDevice" />, <see cref="F:System.Formats.Tar.TarEntryType.CharacterDevice" />, or <see cref="F:System.Formats.Tar.TarEntryType.Fifo" /> can only be extracted in Unix platforms.</para>
380384
<para>Elevation is required to extract a <see cref="F:System.Formats.Tar.TarEntryType.BlockDevice" /> or <see cref="F:System.Formats.Tar.TarEntryType.CharacterDevice" /> to disk.</para>
381385
<para>This method stores in the task it returns all non-usage exceptions that the method's synchronous counterpart can throw. If an exception is stored into the returned task, that exception will be thrown when the task is awaited. Usage exceptions, such as <see cref="T:System.ArgumentException" />, are still thrown synchronously. For the stored exceptions, see the exceptions thrown by <see cref="M:System.Formats.Tar.TarFile.ExtractToDirectory(System.String,System.String,System.Boolean)" />.</para>

xml/System.IO.Compression/ZipFile.xml

Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1021,6 +1021,7 @@ An I/O error occurred while opening a file to be archived.</exception>
10211021
<remarks>This method creates the specified directory and all subdirectories. The destination directory cannot already exist.
10221022
Exceptions related to validating the paths in the <paramref name="destinationDirectoryName" /> or the files in the zip archive contained in <paramref name="source" /> parameters are thrown before extraction. Otherwise, if an error occurs during extraction, the archive remains partially extracted.
10231023
Each extracted file has the same relative path to the directory specified by <paramref name="destinationDirectoryName" /> as its source entry has to the root of the archive.
1024+
If an entry in the zip archive is a symbolic link, it's extracted as a regular folder since symbolic link information isn't preserved in the ZIP format.
10241025
If a file to be archived has an invalid last modified time, the first date and time representable in the zip timestamp format (midnight on January 1, 1980) will be used.</remarks>
10251026
<exception cref="T:System.ArgumentException">
10261027
<paramref name="destinationDirectoryName" /> is <see cref="F:System.String.Empty" />, contains only white space, or contains at least one invalid character.</exception>
@@ -1100,6 +1101,8 @@ An archive entry was compressed by using a compression method that isn't support
11001101
## Remarks
11011102
This method creates the specified directory and all subdirectories. The destination directory cannot already exist. Exceptions related to validating the paths in the `destinationDirectoryName` or `sourceArchiveFileName` parameters are thrown before extraction. Otherwise, if an error occurs during extraction, the archive remains partially extracted. Each extracted file has the same relative path to the directory specified by `destinationDirectoryName` as its source entry has to the root of the archive.
11021103
1104+
If an entry in the zip archive is a symbolic link, it's extracted as a regular folder since symbolic link information isn't preserved in the ZIP format.
1105+
11031106
## Examples
11041107
This example shows how to create and extract a zip archive by using the <xref:System.IO.Compression.ZipFile> class. It compresses the contents of a folder into a zip archive and extracts that content to a new folder. To use the <xref:System.IO.Compression.ZipFile> class, you must reference the `System.IO.Compression.FileSystem` assembly in your project.
11051108
@@ -1174,6 +1177,7 @@ An archive entry was compressed by using a compression method that isn't support
11741177
<remarks>This method creates the specified directory and all subdirectories. The destination directory cannot already exist.
11751178
Exceptions related to validating the paths in the <paramref name="destinationDirectoryName" /> or the files in the zip archive contained in <paramref name="source" /> parameters are thrown before extraction. Otherwise, if an error occurs during extraction, the archive remains partially extracted.
11761179
Each extracted file has the same relative path to the directory specified by <paramref name="destinationDirectoryName" /> as its source entry has to the root of the archive.
1180+
If an entry in the zip archive is a symbolic link, it's extracted as a regular folder since symbolic link information isn't preserved in the ZIP format.
11771181
If a file to be archived has an invalid last modified time, the first date and time representable in the zip timestamp format (midnight on January 1, 1980) will be used.</remarks>
11781182
<exception cref="T:System.ArgumentException">
11791183
<paramref name="destinationDirectoryName" /> is <see cref="F:System.String.Empty" />, contains only white space, or contains at least one invalid character.</exception>
@@ -1330,6 +1334,8 @@ Each entry will be extracted such that the extracted file has the same relative
13301334
13311335
The `sourceArchiveFileName` and `destinationDirectoryName` parameters accept both relative and absolute paths. A relative path is interpreted as relative to the current working directory.
13321336
1337+
If an entry in the zip archive is a symbolic link, it's extracted as a regular folder since symbolic link information isn't preserved in the ZIP format.
1338+
13331339
If a file to be archived has an invalid last modified time, the first date and time representable in the zip timestamp format (midnight on January 1, 1980) will be used.
13341340
13351341
]]></format>
@@ -1436,6 +1442,8 @@ A <see cref="T:System.IO.Compression.ZipArchiveEntry" /> has been compressed usi
14361442
14371443
This method creates the specified directory and all subdirectories, if necessary. Exceptions related to validating the paths in the `destinationDirectoryName` or `sourceArchiveFileName` parameters are thrown before extraction. Otherwise, if an error occurs during extraction, the archive remains partially extracted. Each extracted file has the same relative path to the directory specified by `destinationDirectoryName` as its source entry has to the root of the archive.
14381444
1445+
If an entry in the zip archive is a symbolic link, it's extracted as a regular folder since symbolic link information isn't preserved in the ZIP format.
1446+
14391447
If `entryNameEncoding` is set to a value other than `null`, entry names and comments are decoded according to the following rules:
14401448
14411449
- For entries where the language encoding flag (in the general-purpose bit flag of the local file header) is not set, the entry names and comments are decoded by using the specified encoding.
@@ -1526,6 +1534,7 @@ If `entryNameEncoding` is set to `null`, entry names and comments are decoded ac
15261534
<remarks>This method creates the specified directory and all subdirectories. The destination directory cannot already exist.
15271535
Exceptions related to validating the paths in the <paramref name="destinationDirectoryName" /> or the files in the zip archive contained in <paramref name="source" /> parameters are thrown before extraction. Otherwise, if an error occurs during extraction, the archive remains partially extracted.
15281536
Each extracted file has the same relative path to the directory specified by <paramref name="destinationDirectoryName" /> as its source entry has to the root of the archive.
1537+
If an entry in the zip archive is a symbolic link, it's extracted as a regular folder since symbolic link information isn't preserved in the ZIP format.
15291538
If a file to be archived has an invalid last modified time, the first date and time representable in the zip timestamp format (midnight on January 1, 1980) will be used.</remarks>
15301539
<exception cref="T:System.ArgumentException">
15311540
<paramref name="destinationDirectoryName" /> is <see cref="F:System.String.Empty" />, contains only white space, or contains at least one invalid character.
@@ -1622,6 +1631,8 @@ An archive entry was compressed by using a compression method that isn't support
16221631
16231632
The `sourceArchiveFileName` and `destinationDirectoryName` parameters accept both relative and absolute paths. A relative path is interpreted as relative to the current working directory.
16241633
1634+
If an entry in the zip archive is a symbolic link, it's extracted as a regular folder since symbolic link information isn't preserved in the ZIP format.
1635+
16251636
If a file to be archived has an invalid last modified time, the first date and time representable in the zip timestamp format (midnight on January 1, 1980) will be used.
16261637
16271638
]]></format>

0 commit comments

Comments
 (0)