Skip to content

Merge main into live#52480

Merged
gewarren merged 9 commits intolivefrom
main
Mar 20, 2026
Merged

Merge main into live#52480
gewarren merged 9 commits intolivefrom
main

Conversation

@dotnet-policy-service
Copy link
Contributor

@dotnet-policy-service dotnet-policy-service bot commented Mar 20, 2026

Please don't squash-merge this PR.


Internal previews

Toggle expand/collapse
📄 File 🔗 Preview link
.github/policies/label-issues.yml .github/policies/label-issues
docs/ai/get-started-app-chat-scaling-with-azure-container-apps.md CustomerIntent: As a .NET developer new to Azure OpenAI, I want to scale my Azure OpenAI capacity to avoid rate limit errors with Azure Container Apps.
docs/ai/resources/azure-ai.md Azure AI learning resources
docs/azure/migration/appmod/coding-agent-support.md Migrate .NET apps using GitHub Copilot modernization in the Copilot Coding Agent
docs/azure/migration/appmod/copilot-cli-support.md docs/azure/migration/appmod/copilot-cli-support
docs/azure/sdk/authentication/local-development-broker.md Authenticate .NET apps to Azure services during local development using brokered authentication
docs/azure/sdk/authentication/local-development-dev-accounts.md Authenticate .NET apps to Azure using developer accounts
docs/azure/sdk/authentication/local-development-service-principal.md Authenticate .NET apps to Azure services during local development using service principals
docs/azure/sdk/authentication/on-premises-apps.md docs/azure/sdk/authentication/on-premises-apps
docs/azure/sdk/authentication/system-assigned-managed-identity.md Authenticate Azure-hosted .NET apps to Azure resources using a system-assigned managed identity
docs/azure/sdk/authentication/user-assigned-managed-identity.md Authenticate Azure-hosted .NET apps to Azure resources using a user-assigned managed identity
docs/core/compatibility/sdk/6.0/csharp-template-code.md C# code in templates not supported by earlier versions
docs/core/compatibility/toc.yml docs/core/compatibility/toc
docs/core/diagnostics/debug-highcpu.md Debug high CPU usage in .NET Core
docs/core/diagnostics/dotnet-trace.md dotnet-trace performance analysis utility
docs/core/diagnostics/eventpipe.md EventPipe Overview
docs/core/tutorials/top-level-templates.md C# console app template generates top-level statements
docs/csharp/asynchronous-programming/cancel-an-async-task-or-a-list-of-tasks.md docs/csharp/asynchronous-programming/cancel-an-async-task-or-a-list-of-tasks
docs/csharp/asynchronous-programming/start-multiple-async-tasks-and-process-them-as-they-complete.md Process asynchronous tasks as they complete (C#)
docs/csharp/fundamentals/program-structure/index.md General structure of a C# program
docs/csharp/fundamentals/program-structure/main-command-line.md "Main() and command-line arguments"
docs/csharp/fundamentals/program-structure/top-level-statements.md Top-level statements - programs without Main methods
docs/csharp/language-reference/compiler-messages/async-await-errors.md Resolve errors and warnings in async methods that use the await operator
docs/csharp/language-reference/keywords/namespace.md "The namespace keyword"
docs/csharp/language-reference/keywords/using-directive.md The using directive
docs/csharp/misc/cs0101.md docs/csharp/misc/cs0101
docs/csharp/misc/cs1527.md Compiler Error CS1527
docs/csharp/toc.yml Taken from https://github.com/dotnet/roslyn/wiki/Samples-and-Walkthroughs
docs/csharp/tutorials/console-teleprompter.md Console Application
docs/standard/library-guidance/nuget.md NuGet

Note

This table shows preview links for the 30 files with the most changes. For preview links for other files in this PR, select OpenPublishing.Build Details within checks.

Copilot AI and others added 3 commits March 19, 2026 09:49
* Update diagnostics docs for dotnet-trace collect-linux

Update 3 docs to reflect dotnet-trace collect-linux capabilities:
- dotnet-trace.md: Add symbol resolution section for collect-linux
- eventpipe.md: Add EventPipe (user_events) column to comparison table,
  document how EventPipe can emit events as user_events for unified
  managed + native trace collection on Linux
- debug-highcpu.md: Integrate collect-linux as Linux alternative, clarify
  that safe-point bias and managed-only callstacks apply on all platforms

Key points documented:
- Native debug symbols must be on disk for symbol resolution
- No environment variables or process restarts needed
- EventPipe (user_events) enables unified tracing on Linux (.NET 10+)
- Still framed as preview feature

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>

* Address PR review feedback for #52273

dotnet-trace.md:
- Fix 'perfmap' to 'perf map' for consistency
- Use dotnetcli fence instead of bash for dotnet commands
- Reword dotnet-symbol step to clarify default output and permissions
- Fix wording: 'processes the trace' to 'collects the trace'

eventpipe.md:
- Fix 'stacktraces' to 'stack traces'
- Clarify that standard EventPipe doesn't require admin/root but
  user_events mode does
- Fix cross-platform row for EventPipe (user_events)

debug-highcpu.md:
- Simplify intro paragraph, mention improved capabilities per OS/version
- Add dotnet-trace collect-linux walkthrough in Linux tab with .NET 10 note
- Use CPU Stacks PerfView view for collect-linux traces
- Reword existing perf section intro for flow

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>

* Address additional PR feedback for #52273

- debug-highcpu.md: Add kernel/distro requirements callout with link to
  collect-linux prerequisites (per noahfalk feedback)
- dotnet-trace.md: Remove unnecessary mention of DOTNET_PerfMapEnabled
  and DOTNET_EnableEventLog env vars (per noahfalk feedback)

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>

* Update prerequisites and doc dates

- dotnet-trace.md: Add tracefs mount prerequisite, add TIP for checking
  user_events kernel support (zgrep + tracefs fallback)
- Update ms.date to 03/19/2026 for all 3 changed files

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>

---------

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
…es (#52082)

* Revise index

1. **Revise** `docs/csharp/fundamentals/program-structure/index.md`
   - Update frontmatter: set `ms.date` to current date, add `ai-usage: ai-assisted`
   - Rewrite to lead with a motivating example showing a modern C# program with file-scoped namespaces, global usings, and top-level statements as the default style
   - Distinguish the three application styles: file-based apps (C# 14), project-based apps with top-level statements, and `Main`-style project-based apps
   - Update the "Related Sections" links: change the Namespaces link from `../types/namespaces.md` to `namespaces.md` (since it moves into this directory)
   - Replace or modernize existing snippet references; consider whether existing `snippets/structure/` and `snippets/toplevel-structure/` need updating to latest .NET target and everyday C# features

* Move + revise namespaces.md

   - Delete `docs/csharp/fundamentals/types/namespaces.md`
   - Create new `docs/csharp/fundamentals/program-structure/namespaces.md` with heavily revised content covering:
     - File-scoped namespaces (C# 10) as the *default, recommended* style
     - Global using directives (C# 10) including implicit usings from the SDK
     - Static `using` (C# 6) for importing static members
     - Type and namespace aliases (subset) via `using` alias directive
     - `extern alias` (brief mention only)
     - How namespaces organize code and the `.` delimiter convention
     - Link to SDK section for implicit usings detail
   - Follow concept → example → concept → example structure
   - Target 1000–2000 words (5–10 minute read)

* Move + modernize namespace snippets

3. **Move + modernize** namespace snippets from `types/snippets/namespaces/` → `program-structure/snippets/namespaces/`
   - Move all files from `docs/csharp/fundamentals/types/snippets/namespaces/` to `docs/csharp/fundamentals/program-structure/snippets/namespaces/`
   - Rename snippet region IDs from legacy numeric (`Snippet1`, `Snippet22`, `Snippet23`, `Snippet6`) to CamelCase names (e.g., `FullyQualifiedName`, `UsingDirective`, `ConsoleShorthand`, `DeclareNamespace`, `FileScopedNamespace`)
   - Modernize code: update `.csproj` target from `net8.0` to latest .NET, use top-level statements or file-based style where appropriate, use everyday C# features (nullable enable, collection expressions if natural)
   - Add new snippet files for global usings, static using, and alias examples
   - Delete the old `types/snippets/namespaces/` directory

* Create new preprocessor-directives.md

4. **Create** new `docs/csharp/fundamentals/program-structure/preprocessor-directives.md`
   - This is a *fundamentals-level* article (not the language-reference exhaustive docs at `language-reference/preprocessor-directives.md`)
   - Cover only the four directives most relevant to everyday development:
     - `#if` / `#elif` / `#else` / `#endif` — conditional compilation (with `DEBUG`, `RELEASE`, target framework symbols)
     - `#region` / `#endregion` — code organization
     - `#nullable enable/disable/restore` — controlling nullable analysis scope
     - `#pragma warning disable/restore` — suppressing specific warnings
   - Brief mention of `#!` and `#:` for file-based apps (C# 14) with cross-reference to the overview and language reference
   - Link to the full `language-reference/preprocessor-directives.md` for complete reference
   - Create snippet project at `program-structure/snippets/preprocessor-directives/`
   - Add `ai-usage: ai-assisted` to frontmatter

* Create organizing-programs.md

5. **Create** new `docs/csharp/fundamentals/program-structure/organizing-programs.md`
   - Addresses [#34836](#34836)
   - Content: assemblies, namespaces, and types as organizational tools
   - Cover how the organizational hierarchy works: solution → projects → assemblies → namespaces → types
   - Explain naming conventions and how folder structure typically mirrors namespace structure
   - Show practical examples of organizing a small multi-project solution
   - Create snippet project at `program-structure/snippets/organizing-programs/`
   - Add `ai-usage: ai-assisted` to frontmatter

* Content edit.

* copy edit.

* Apply suggestions from code review

Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>

* one more formatting bit

* Read-through and update

I made a few editorial changes while doing a final proofread.

* Major review of the index

Content review of the index.md file.

* Major edit on namespaces

* build errors

* major edit pass on preprocessor

* edit pass

* Simplify the `Main` article

* Fix links

* Fix up samples

* remove snippets no longer needed

* fix build

* Revert "fix build"

This reverts commit 797ea26.

* Revert "remove snippets no longer needed"

This reverts commit 6d02366.

* remove only some files.

* Update edited articles per templates

Apply the current template styles to all impacted articles in this PR.

* Update docs/csharp/fundamentals/program-structure/index.md

Co-authored-by: Andy (Steve) De George <67293991+adegeo@users.noreply.github.com>

* Update docs/csharp/fundamentals/program-structure/namespaces.md

Co-authored-by: Andy (Steve) De George <67293991+adegeo@users.noreply.github.com>

* Update docs/csharp/fundamentals/program-structure/program-organization.md

Co-authored-by: Andy (Steve) De George <67293991+adegeo@users.noreply.github.com>

* Update docs/csharp/fundamentals/program-structure/program-organization.md

Co-authored-by: Andy (Steve) De George <67293991+adegeo@users.noreply.github.com>

* Update docs/csharp/fundamentals/program-structure/program-organization.md

Co-authored-by: Andy (Steve) De George <67293991+adegeo@users.noreply.github.com>

* Update docs/csharp/fundamentals/program-structure/main-command-line.md

Co-authored-by: Andy (Steve) De George <67293991+adegeo@users.noreply.github.com>

* Update docs/csharp/fundamentals/program-structure/top-level-statements.md

Co-authored-by: Andy (Steve) De George <67293991+adegeo@users.noreply.github.com>

* Update docs/csharp/fundamentals/program-structure/top-level-statements.md

Co-authored-by: Andy (Steve) De George <67293991+adegeo@users.noreply.github.com>

* respond to feedback.

* Add necessary file

---------

Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
Co-authored-by: Andy (Steve) De George <67293991+adegeo@users.noreply.github.com>
@github-advanced-security
Copy link

You are seeing this message because GitHub Code Scanning has recently been set up for this repository, or this pull request contains the workflow file for the Code Scanning tool.

What Enabling Code Scanning Means:

  • The 'Security' tab will display more code scanning analysis results (e.g., for the default branch).
  • Depending on your configuration and choice of analysis tool, future pull requests will be annotated with code scanning analysis results.
  • You will be able to see the analysis results for the pull request's branch on this overview once the scans have completed and the checks have passed.

For more information about GitHub Code Scanning, check out the documentation.

@dotnetrepoman dotnetrepoman bot added this to the March 2026 milestone Mar 20, 2026
Caoxuyang and others added 6 commits March 20, 2026 09:56
* rebrand

* assistant minor changes

---------

Co-authored-by: Xuyang Cao <xuycao@microsoft.com>
Add automation to assign issues labeled 'breaking-change' to gewarren.
* Initial plan

* Fix unclear Authors property description in NuGet documentation

Co-authored-by: BillWagner <493969+BillWagner@users.noreply.github.com>

* Update docs/standard/library-guidance/nuget.md

Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>

---------

Co-authored-by: copilot-swe-agent[bot] <198982749+Copilot@users.noreply.github.com>
Co-authored-by: BillWagner <493969+BillWagner@users.noreply.github.com>
Co-authored-by: Bill Wagner <wiwagn@microsoft.com>
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
@gewarren
Copy link
Contributor

MSDocs Build Verifier is false positive: dotnet/docs-tools#641

@gewarren gewarren merged commit 790d7e1 into live Mar 20, 2026
14 of 16 checks passed
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.

7 participants