Skip to content

[docs] Clarify .NET 11 runtime-specific build properties - #26634

Merged
rolfbjarne merged 5 commits into
dotnet:mainfrom
vitek-karas:vitkaras-microsoft-doc-018-macios-docs
Sep 25, 2026
Merged

rolfbjarne merged 5 commits into
dotnet:mainfrom
vitek-karas:vitkaras-microsoft-doc-018-macios-docs

Conversation

@vitek-karas

Copy link
Copy Markdown
Member

Summary

  • add a page-level boundary for Mono-specific build properties in .NET 10 and earlier versus CoreCLR in .NET 11
  • document NETSDK1242 for UseMonoRuntime=true on .NET 11 iOS, tvOS, and Mac Catalyst while keeping the existing macOS CoreCLR-only workload error distinct
  • scope the MAUI UseInterpreter=true Debug behavior to .NET 10 and earlier and clarify that MtouchInterpreter and UseInterpreter configure the Mono interpreter, not the CoreCLR interpreter
  • preserve the existing warnings from [msbuild] Detect Mono-only build properties when not using the Mono runtime #26042 and leave MtouchLink and TrimMode unchanged

Validation

  • git diff --check
  • local Markdown link and anchor checks
  • exact text/count assertions for the runtime boundary and both MAUI notes
  • unchanged-section assertions for EnableSGenConc, MonoUseCompressedInterfaceBitmap, MtouchEnableSGenConc, MtouchUseLlvm, MtouchLink, and TrimMode
  • single-file scope, prohibited-heading, collective-wording, and trimming-setting assertions
  • cited the focused existing ProjectTest.MonoOnlyPropertyWarning and ProjectTest.MonoOnlyPropertyError coverage; these macOS workload tests were not run from the Windows worktree

Release evidence

Current main at 03e37082495026ce93f511a01fc07ef7e2170279 contains the #26042 warning behavior and #26468 (c7c6bba288295c08a6d125338f5bf5849d3f5bbc). The available release/11.0.1xx-rc.1 branch at 4d35fc6aedc02ef4bb9ecdae170cb8132be0a5d6 contains #26042 but does not contain #26468, and no final .NET 11 release branch is currently available. This PR follows the approved DOC-018 assumption that #26468 ships in final .NET 11; that ancestry must be rechecked before merge.

The .NET SDK gate currently raises NETSDK1242 for .NET 11 and later iOS, tvOS, and Mac Catalyst projects with UseMonoRuntime=true; macOS is excluded from that gate and retains the workload's Only CoreCLR is supported on macOS error. The .NET MAUI net11.0, release/11.0.1xx-rc1, and release/11.0.1xx-rc2 targets set UseInterpreter only when UseMonoRuntime=true.

Coordination

Synchronization to dotnet/docs-mobile is intentionally deferred to the coordinated DOC-018 public documentation PR.

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

Copilot AI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

Copilot review overview

🟡 Changes recommended

Address the documented accuracy, consistency, and duplication concerns before approval.

Get a fresh assessment by requesting another Copilot review.

Review effort: Lite
Findings: 2 Low severity

Open (2)
What changed in this PR

Clarifies .NET 10/.NET 11 runtime-specific build properties and MAUI interpreter behavior.

Changes:

  • Documents .NET 11 runtime boundaries and NETSDK1242.
  • Scopes MAUI interpreter guidance to applicable .NET versions.
  • Preserves existing property documentation.
File Description
docs/​building-apps/​build-properties.md Updates runtime and interpreter property documentation.

Comment thread docs/building-apps/build-properties.md Resolved
Comment thread docs/building-apps/build-properties.md Resolved
vitek-karas and others added 2 commits September 24, 2026 16:59
Clarified Mono-specific properties and CoreCLR usage starting with .NET 11.

Co-authored-by: Copilot Autofix powered by AI <175728472+Copilot@users.noreply.github.com>
Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com>

Copilot AI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

Copilot review overview

🟡 Changes recommended

Clarify the macOS exception wording and remove the repeated phrasing.

Get a fresh assessment by requesting another Copilot review.

Review effort: Lite
Findings: 1 Low severity

Open (1)
Resolved since last review (2)

Comment thread docs/building-apps/build-properties.md Resolved
Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com>

Copilot AI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

Copilot review overview

🟡 Changes recommended

Outstanding documentation wording and consistency corrections must be addressed.

Get a fresh assessment by requesting another Copilot review.

Review effort: Lite
Findings: 1 Low severity

Open (1)
Resolved since last review (1)

Comment thread docs/building-apps/build-properties.md Resolved
Clarify the application of Mono-specific properties for .NET versions.

Co-authored-by: Copilot Autofix powered by AI <175728472+Copilot@users.noreply.github.com>
@vitek-karas
vitek-karas marked this pull request as ready for review September 24, 2026 15:38
Copilot AI review requested due to automatic review settings September 24, 2026 15:38
@vitek-karas vitek-karas self-assigned this Sep 24, 2026

Copilot AI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

Copilot review overview

🔵 Needs a closer look

Address the remaining documentation clarity and maintainability comments before approval.

Review effort: Lite
Findings: None

Resolved since last review (1)

@vitek-karas

Copy link
Copy Markdown
Member Author

@Rolf - could you please take a look? Thank you!

@rolfbjarne rolfbjarne added the backport-to-net11.0 Add this to issues or pull requests that should be backported to .NET 11 label Sep 25, 2026
@rolfbjarne
rolfbjarne merged commit f0542c1 into dotnet:main Sep 25, 2026
8 checks passed
rolfbjarne added a commit that referenced this pull request Sep 25, 2026
… properties (#26732)

## Summary

- add a page-level boundary for Mono-specific build properties in .NET
10 and earlier versus CoreCLR in .NET 11
- document `NETSDK1242` for `UseMonoRuntime=true` on .NET 11 iOS, tvOS,
and Mac Catalyst while keeping the existing macOS CoreCLR-only workload
error distinct
- scope the MAUI `UseInterpreter=true` Debug behavior to .NET 10 and
earlier and clarify that `MtouchInterpreter` and `UseInterpreter`
configure the Mono interpreter, not the CoreCLR interpreter
- preserve the existing warnings from #26042 and leave `MtouchLink` and
`TrimMode` unchanged

## Validation

- `git diff --check`
- local Markdown link and anchor checks
- exact text/count assertions for the runtime boundary and both MAUI
notes
- unchanged-section assertions for `EnableSGenConc`,
`MonoUseCompressedInterfaceBitmap`, `MtouchEnableSGenConc`,
`MtouchUseLlvm`, `MtouchLink`, and `TrimMode`
- single-file scope, prohibited-heading, collective-wording, and
trimming-setting assertions
- cited the focused existing `ProjectTest.MonoOnlyPropertyWarning` and
`ProjectTest.MonoOnlyPropertyError` coverage; these macOS workload tests
were not run from the Windows worktree

## Release evidence

Current `main` at `03e37082495026ce93f511a01fc07ef7e2170279` contains
the #26042 warning behavior and #26468
(`c7c6bba288295c08a6d125338f5bf5849d3f5bbc`). The available
`release/11.0.1xx-rc.1` branch at
`4d35fc6aedc02ef4bb9ecdae170cb8132be0a5d6` contains #26042 but does not
contain #26468, and no final .NET 11 release branch is currently
available. This PR follows the approved DOC-018 assumption that #26468
ships in final .NET 11; that ancestry must be rechecked before merge.

The .NET SDK gate currently raises `NETSDK1242` for .NET 11 and later
iOS, tvOS, and Mac Catalyst projects with `UseMonoRuntime=true`; macOS
is excluded from that gate and retains the workload's `Only CoreCLR is
supported on macOS` error. The .NET MAUI `net11.0`,
`release/11.0.1xx-rc1`, and `release/11.0.1xx-rc2` targets set
`UseInterpreter` only when `UseMonoRuntime=true`.

## Coordination

Synchronization to `dotnet/docs-mobile` is intentionally deferred to the
coordinated DOC-018 public documentation PR.

Backport of #26634.

---------

Co-authored-by: vitek-karas <10670590+vitek-karas@users.noreply.github.com>
Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com>
Co-authored-by: Copilot Autofix powered by AI <175728472+Copilot@users.noreply.github.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

backport-to-net11.0 Add this to issues or pull requests that should be backported to .NET 11

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants