Skip to content

Add migration guidance for existing F# MVC applications upgrading from .NET 10 to .NET 11 (#37686) - #37851

Merged
guardrex merged 4 commits into
dotnet:mainfrom
SkyDevLab:docs/37686-fsharp-mvc-migration
Oct 19, 2026
Merged

guardrex merged 4 commits into
dotnet:mainfrom
SkyDevLab:docs/37686-fsharp-mvc-migration

Conversation

@SkyDevLab

@SkyDevLab SkyDevLab commented Oct 13, 2026 •

Copy link
Copy Markdown
Contributor

Fixes #37686

Adds migration guidance for existing F# MVC applications upgrading from .NET 10 to .NET 11:

  • Explains why removing Razor Runtime Compilation requires explicit build/publish Razor compilation and assembly registration.
  • Documents the required project file properties (false, true, true).
  • Provides the MvcBuilderExtensions.fs implementation and Program.fs registration.

Internal previews

File Preview link
aspnetcore/migration/100-to-110.md Learn preview
aspnetcore/migration/100-to-110/includes/mvc.md Learn preview

Build report

@SkyDevLab
SkyDevLab requested a review from guardrex as a code owner October 13, 2026 19:07
@guardrex guardrex self-assigned this Oct 13, 2026

@guardrex guardrex left a comment

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

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

Made some suggestions.

... and we should use auto numbering, which should work fine here because of the indentation for each list item. It should render fine in the published article later.

Comment thread aspnetcore/migration/100-to-110/includes/mvc.md Outdated
Comment thread aspnetcore/migration/100-to-110/includes/mvc.md Outdated
Comment thread aspnetcore/migration/100-to-110/includes/mvc.md Outdated
Comment thread aspnetcore/migration/100-to-110/includes/mvc.md Outdated
Comment thread aspnetcore/migration/100-to-110/includes/mvc.md Outdated
Comment thread aspnetcore/migration/100-to-110/includes/mvc.md Outdated
Comment thread aspnetcore/migration/100-to-110/includes/mvc.md Outdated

This comment was marked as resolved.

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.

🟢 Approval recommended

The guidance addresses the migration requirements, with only non-blocking wording and snippet-organization corrections remaining.

No open issues 🎉

2 previously missed issues

In code that hasn't changed since last review

Low severity Use lowercase descriptive names for runtime compilation

aspnetcore/​migration/​100-to-110/​includes/​mvc.md:5

Use “Razor runtime compilation” and “Removing runtime compilation” here, and “obsolete runtime compilation dependency” in the closing paragraph (line 73). These are descriptive feature names, which .github/copilot-instructions.md:136-140 requires to be lowercase. Keep package and API identifiers unchanged. This is a non-blocking wording correction.

Low severity Move long F# example to an external snippet file

aspnetcore/​migration/​100-to-110/​includes/​mvc.md:34

This F# example exceeds the six-line inline-snippet limit in .github/copilot-code-instructions.md:16-25. Move it into a .fs file under the migration article's snippets/11.0/ directory and replace the fenced block with a :::code include. This is a non-blocking snippet-organization correction.

1 resolved since last review

Review effort: Balanced

@guardrex

Copy link
Copy Markdown
Collaborator

@SkyDevLab ... Looking good.

Use lowercase descriptive names for runtime compilation

Yes, let's do that here.

Move long F# example to an external snippet file

No, let's not bother with that.

@SkyDevLab

Copy link
Copy Markdown
Contributor Author

Updated to use lowercase 'runtime compilation' for descriptive feature references while keeping the snippet inline as requested. Thanks!

@guardrex guardrex left a comment

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

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

Excellent! Thanks for this!!!! 🎸

@guardrex
guardrex merged commit a9b5aa1 into dotnet:main Oct 19, 2026
8 checks passed
@SkyDevLab

SkyDevLab commented Oct 19, 2026 •

Copy link
Copy Markdown
Contributor Author

Hi @guardrex , just wanted to share a small note about my availability. I work full-time, so I'm generally unavailable during the day and can usually check GitHub and respond after 10 PM IST.
I really appreciate your continued support and guidance on my ASP.NET Core documentation PRs. Thanks for all the reviews and for helping me contribute to the project! 😊

@guardrex

Copy link
Copy Markdown
Collaborator

Sure thing. Thanks for all of the PRs that you're doing. I can review and work on about six a day. The main focus right now is on .NET 11 content, but we'll get them all done and merged over the next few weeks/months.

@SkyDevLab

Copy link
Copy Markdown
Contributor Author

Sure thing. Thanks for all of the PRs that you're doing. I can review and work on about six a day. The main focus right now is on .NET 11 content, but we'll get them all done and merged over the next few weeks/months.

Thanks for the update, Guardrex! I understand. 😊

I'd also be happy to help review .NET 11 documentation PRs if that would be useful. I'd be glad to help with technical accuracy, code samples, and documentation issues wherever I can contribute.

Let me know if there's any way I can help!

@guardrex guardrex left a comment

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

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

:shipit:

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Add migration guidance for existing F# MVC applications upgrading from .NET 10 to .NET 11.

3 participants