ワンクリックで
cli-compile-surface-hardening
Keep migrated Blazor output compiling when more Web Forms artifacts stay on the generated compile surface
Codex または Claude でインストール この Prompt をコピーして Codex、Claude、または他のアシスタントに貼り付けると、Skill ページを確認してインストールできます。
メニュー
Keep migrated Blazor output compiling when more Web Forms artifacts stay on the generated compile surface
Codex または Claude でインストール この Prompt をコピーして Codex、Claude、または他のアシスタントに貼り付けると、Skill ページを確認してインストールできます。
SOC 職業分類に基づく
{what this skill teaches agents}
**WORKFLOW SKILL** — Execute end-to-end ContosoUniversity migration benchmark: clear output folder, run L1 script + L2 Copilot transforms, build, run Playwright acceptance tests, and generate a numbered run report. WHEN: "run contoso migration test", "test contoso university migration", "contoso migration benchmark", "run CU migration". INVOKES: migration-toolkit (scripts + skills), dotnet CLI, Playwright tests.
**WORKFLOW SKILL** - Execute the end-to-end WingtipToys migration benchmark: clear samples\AfterWingtipToys, run the migration-toolkit against samples\WingtipToys, repair the generated app until Playwright acceptance tests pass, and write a numbered run report with embedded screenshots under dev-docs\migration-tests\wingtiptoys. WHEN: "run Wingtip migration", "test WingtipToys migration", "Wingtip benchmark", "migrate WingtipToys", "rerun Wingtip migration". INVOKES: migration-toolkit (scripts + skills), dotnet CLI, Playwright tests.
Migrate ASP.NET Web Forms User Controls (.ascx) to Blazor components using BlazorWebFormsComponents. Covers ASCX-to-Razor conversion, code-behind preservation, tag prefix resolution, property/event mapping, and partial-class base class alignment. WHEN: 'migrate ascx', 'convert user control', 'ascx to blazor', 'user control migration'. FOR SINGLE OPERATIONS: use /bwfc-migration for full page migration, /bwfc-custom-control-migration for WebControl-based controls.
Migrate custom ASP.NET Web Forms server controls (WebControl, CompositeControl) to Blazor using BlazorWebFormsComponents. Covers RenderContents/HtmlTextWriter preservation, TagKey mapping, AddAttributesToRender, CreateChildControls, and the one-line-change migration pattern. WHEN: 'migrate custom control', 'webcontrol to blazor', 'rendercontents migration', 'htmltextwriter blazor', 'custom server control'. FOR SINGLE OPERATIONS: use /bwfc-ascx-migration for .ascx user controls, /bwfc-migration for full page migration.
Enforce canonical migration standards for ASP.NET Web Forms to Blazor using BWFC. Covers target architecture (.NET 10, Server Interactive), database provider detection, event handler preservation, SelectMethod patterns, and page lifecycle mapping. WHEN: "migration standards", "target architecture", "render mode placement", "page base class", "Layer 1 vs Layer 2".
| name | cli-compile-surface-hardening |
| description | Keep migrated Blazor output compiling when more Web Forms artifacts stay on the generated compile surface |
| domain | migration-tooling |
| confidence | high |
| source | earned |
Use this when the migration CLI starts emitting more generated .razor.cs files or copying more legacy source into the output project. The goal is to preserve deterministic L1 behavior while preventing compile failures from style analyzers, generic Razor component inference, or unresolved markup references.
<EnforceCodeStyleInBuild>false</EnforceCodeStyleInBuild> over broad warning suppression when copied legacy files would otherwise fail repo-level IDE analyzers.TValue alias:
RequiredFieldValidator → Type="string"CompareValidator / RangeValidator → InputType="string"metadata.MarkupContent) as the source of truth.@MethodName() → render-method stub returning object?@_fieldName → private object? fieldOnClick="@HandlerName" and similar → void HandlerName(object? sender, EventArgs e)src\BlazorWebFormsComponents.Cli\Program.cs) and tests\BlazorWebFormsComponents.Cli.Tests\TestHelpers.cs so the lightweight and full pipelines stay aligned.src\BlazorWebFormsComponents.Cli\Transforms\Markup\ValidatorGenericTypeTransform.cssrc\BlazorWebFormsComponents.Cli\Transforms\CodeBehind\MarkupReferencedMemberStubTransform.cstests\BlazorWebFormsComponents.Cli.Tests\TransformUnit\CompiledCodeBehindStubPipelineTests.csTValue="string" into BWFC validators that actually expose Type or InputType generic parameters.@Identifier token; restrict deterministic generation to the specific reference shapes you can classify safely.