The Wire · Showcase
RAZOR DECL/IMPL SPLIT BREAKS ASPNETCORE RUNTIME COMPILER
By RepoJournal · Filed · About .NET
A recent Razor refactor removed public APIs that ASP.NET Core's runtime view compiler depends on, forcing an emergency restore.
The Razor declaration/implementation split that flowed into the VMR [1] stripped out two critical public members: RazorCodeDocumentExtensions.GetCSharpDocument() and RazorCSharpDocument.GeneratedCode. ASP.NET Core's Mvc.Razor.RuntimeCompilation.RuntimeViewCompiler relies on these APIs and broke in the product build [2]. Chris Sienkiewicz restored both public members to unblock the product [1]. Separately, Viktor Hofer fixed an official build failure in Roslyn by removing stale SDL validation parameters that Arcade had already dropped from its post-build template [3]. The msbuild updates continue flowing through the VMR codeflow pipeline into dotnet/dotnet [4], with aspnetcore dependency updates from the optimization channel keeping pace [5]. All four commits across these repos landed cleanly overnight.
One email a day. Unsubscribe in one click.
Keep up with .NET in about 3 minutes a day: what actually shipped — the commits, pull requests, releases, and security advisories that matter.
One email a day. Unsubscribe in one click. Read a past issue →
Action items
- → Pull latest VMR main to pick up Razor public API restore dotnet/dotnet [immediate]
- → Verify aspnetcore runtime compilation builds with restored APIs dotnet/aspnetcore [immediate]
- → Monitor Roslyn pipeline for SDL parameter removal impact dotnet/roslyn [monitor]
References
- [1] Restore public GetCSharpDocument() and GeneratedCode for runtime compilation (#84813) dotnet/roslyn
- [2] Restore public GetCSharpDocument() and GeneratedCode for runtime compilation ↗ dotnet/roslyn
- [3] Remove SDL validation parameters from pipeline (#84824) dotnet/roslyn
- [4] [main] Source code updates from dotnet/msbuild ↗ dotnet/dotnet
- [5] [main] Update dependencies from dnceng/internal/dotnet-optimization ↗ dotnet/aspnetcore