Skip to content

Remove .NET Framework remarks (System.Threading)#12652

Open
gewarren wants to merge 1 commit into
dotnet:mainfrom
gewarren:fw-remarks-system-threading
Open

Remove .NET Framework remarks (System.Threading)#12652
gewarren wants to merge 1 commit into
dotnet:mainfrom
gewarren:fw-remarks-system-threading

Conversation

@gewarren
Copy link
Copy Markdown
Contributor

.NET Framework API ref has moved to its own repo (https://github.com/dotnet/dotnetfw-api-docs), so we can clean up .NET Framework remarks, exceptions, and code examples out of this repo. Contributes to #12513.

Removes remarks and examples related to:

  • .NET Framework versions
  • Code-access security
  • Configuring apps via app.config file
  • App domains

Also remarks all remarks from obsolete APIs.

Hide whitespace changes

Copilot AI review requested due to automatic review settings May 24, 2026 02:43
@gewarren gewarren requested a review from a team as a code owner May 24, 2026 02:43
Copy link
Copy Markdown
Contributor

Copilot AI left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

This PR updates the .NET API reference (ECMAXML) docs to remove .NET Framework-specific remarks, exceptions, and examples across System.Threading and System.Threading.Tasks, reflecting that .NET Framework reference content has moved to dotnetfw-api-docs.

Changes:

  • Removed or rewrote remarks that reference .NET Framework-only behaviors (CAS, app.config, AppDomains, old version notes).
  • Simplified/standardized exception text that previously differentiated behavior by .NET Framework version.
  • Updated various narrative text to refer to “.NET”/runtime behavior rather than “.NET Framework”.

Reviewed changes

Copilot reviewed 29 out of 29 changed files in this pull request and generated 18 comments.

Show a summary per file
File Description
xml/System.Threading/WaitHandle.xml Removes AppDomain/.NET Framework version remarks and adjusts remarks/exceptions formatting.
xml/System.Threading/Timer.xml Removes .NET Framework-only timer reference.
xml/System.Threading/ThreadPool.xml Removes .NET Framework version/CAS-specific remarks and updates wording.
xml/System.Threading/ThreadAbortException.xml Rewrites remarks to remove framework-specific statements about when it’s thrown.
xml/System.Threading/Thread.xml Removes many .NET Framework/AppDomain/CAS remarks and examples; introduces multiple placeholder remarks.
xml/System.Threading/SpinWait.xml Updates remarks to remove “.NET Framework” wording.
xml/System.Threading/SemaphoreAcl.xml Removes .NET Framework-only exception condition.
xml/System.Threading/Semaphore.xml Removes .NET Framework-only exception conditions.
xml/System.Threading/ReaderWriterLock.xml Updates remarks to remove “.NET Framework” wording and trims whitespace.
xml/System.Threading/Overlapped.xml Removes CAS-related caution text; introduces placeholder remarks for an obsolete overload.
xml/System.Threading/NativeOverlapped.xml Normalizes markdown/whitespace and removes “.NET Framework” wording.
xml/System.Threading/MutexAcl.xml Removes .NET Framework-only exception condition.
xml/System.Threading/Mutex.xml Removes AppDomain/.NET Framework version remarks and .NET Framework-only exception condition.
xml/System.Threading/ManualResetEventSlim.xml Rewrites note to remove “.NET Core/.NET 5+” phrasing.
xml/System.Threading/ManualResetEvent.xml Removes .NET Framework version notes and condenses remarks.
xml/System.Threading/Interlocked.xml Removes .NET Framework version note; contains a newly introduced typo in remarks.
xml/System.Threading/ExecutionContext.xml Removes .NET Framework-only sections; introduces placeholder remarks for obsolete serialization member.
xml/System.Threading/EventWaitHandleAcl.xml Removes .NET Framework-only exception conditions.
xml/System.Threading/EventWaitHandle.xml Removes .NET Framework-only exception conditions and a .NET Framework-specific overload equivalence note.
xml/System.Threading/CompressedStack.xml Removes CAS-focused remarks; replaces many remarks with placeholders.
xml/System.Threading/CancellationTokenSource.xml Updates remarks to remove .NET Framework versioning and simplifies IDisposable note.
xml/System.Threading/ApartmentState.xml Updates remarks to remove “.NET Framework” wording.
xml/System.Threading/AbandonedMutexException.xml Removes .NET Framework version history from remarks.
xml/System.Threading.Tasks/TaskScheduler.xml Updates remarks to remove “.NET Framework” wording and removes app.config guidance.
xml/System.Threading.Tasks/TaskFactory`1.xml Updates warning text to remove .NET Framework versioning.
xml/System.Threading.Tasks/TaskFactory.xml Updates warning/remarks text to remove .NET Framework versioning and adjusts threadsafety wording.
xml/System.Threading.Tasks/TaskCreationOptions.xml Removes .NET Framework version note from enum member summary.
xml/System.Threading.Tasks/Task`1.xml Removes .NET Framework version history from remarks and updates wording.
xml/System.Threading.Tasks/Task.xml Removes .NET Framework version history from remarks; introduces a spacing typo.


## Remarks
This method was added to the <xref:System.Threading.Interlocked> class in the .NET Framework 4.5 as a convenience; it's a wrapper for the <xref:System.Threading.Thread.MemoryBarrier*?displayProperty=nameWithType> method.
This methodis a wrapper for the <xref:System.Threading.Thread.MemoryBarrier*?displayProperty=nameWithType> method.

## Remarks
The <xref:System.Threading.Tasks.Task> class implements the <xref:System.IDisposable> interface because internally it uses resources that also implement <xref:System.IDisposable>. However, particularly if your app targets .NET Framework 4.5 or later, there is no need to call <xref:System.Threading.Tasks.Task.Dispose*> unless performance or scalability testing indicates that, based on your usage patterns, your app's performance would be improved by disposing of tasks. For more information, see [Do I need to dispose of Tasks?](https://devblogs.microsoft.com/pfxteam/do-i-need-to-dispose-of-tasks/) in the Parallel Programming with .NET blog.
The <xref:System.Threading.Tasks.Task> class implements the <xref:System.IDisposable> interface because internally it uses resources that also implement <xref:System.IDisposable>. However,there is no need to call <xref:System.Threading.Tasks.Task.Dispose*> unless performance or scalability testing indicates that, based on your usage patterns, your app's performance would be improved by disposing of tasks. For more information, see [Do I need to dispose of Tasks?](https://devblogs.microsoft.com/pfxteam/do-i-need-to-dispose-of-tasks/) in the Parallel Programming with .NET blog.

## Remarks
The <xref:System.Threading.Tasks.Task> class implements the <xref:System.IDisposable> interface because internally it uses resources that also implement <xref:System.IDisposable>. However, particularly if your app targets .NET Framework 4.5 or later, there is no need to call <xref:System.Threading.Tasks.Task.Dispose*> unless performance or scalability testing indicates that, based on your usage patterns, your app's performance would be improved by disposing of tasks. For more information, see [Do I need to dispose of Tasks?](https://devblogs.microsoft.com/pfxteam/do-i-need-to-dispose-of-tasks/) in the Parallel Programming with .NET blog.
The <xref:System.Threading.Tasks.Task> class implements the <xref:System.IDisposable> interface because internally it uses resources that also implement <xref:System.IDisposable>. However,there is no need to call <xref:System.Threading.Tasks.Task.Dispose*> unless performance or scalability testing indicates that, based on your usage patterns, your app's performance would be improved by disposing of tasks. For more information, see [Do I need to dispose of Tasks?](https://devblogs.microsoft.com/pfxteam/do-i-need-to-dispose-of-tasks/) in the Parallel Programming with .NET blog.
<related type="Article" href="/dotnet/standard/threading/threads-and-threading">Threads and Threading</related>
<related type="Article" href="/dotnet/standard/threading/using-threads-and-threading">Using threads and threading</related>
<related type="Article" href="/dotnet/standard/threading/destroying-threads">Destroying threads</related>
<remarks>To be added.</remarks>
<related type="Article" href="/dotnet/standard/threading/threads-and-threading">Threads and Threading</related>
<related type="Article" href="/dotnet/standard/threading/using-threads-and-threading">Using threads and threading</related>
<related type="Article" href="/dotnet/standard/threading/destroying-threads">Destroying threads</related>
<remarks>To be added.</remarks>

]]></format>
</remarks>
<remarks>To be added.</remarks>

]]></format>
</remarks>
<remarks>To be added.</remarks>

]]></format>
</remarks>
<remarks>To be added.</remarks>

]]></format>
</remarks>
<remarks>To be added.</remarks>

]]></format>
</remarks>
<remarks>To be added.</remarks>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants