| name | clarioncom-webview2-validate |
| description | Validates WebView2 COM controls for RegFree COM compliance, WebView2 configuration, and wwwroot structure |
| version | 1.0.0 |
Path Resolution
Get CLARIONCOM_HOME
powershell -ExecutionPolicy Bypass -Command "& ([Environment]::GetFolderPath('ApplicationData') + '\ClarionCOM\scripts\clarioncom-env.ps1') home"
WebView2 COM Validation Skill
This skill validates WebView2-based COM controls for correct configuration, dependencies, and deployment readiness.
Validation Categories
- Standard COM Validation - Same as clarioncom-validate
- WebView2-Specific Validation - Additional checks for WebView2
Standard COM Validation Checklist
Source Code Validation
GUID Validation
Manifest Validation
WebView2-Specific Validation
NuGet Package Validation
wwwroot Folder Structure
wwwroot Content Validation
Check index.html contains:
Virtual Host Mapping
Check control implementation for:
Host Object Implementation
WebView2 Initialization Pattern
Check for proper async initialization:
Event Raising Pattern
Deployment Validation
Output Folder Contents
After build, verify in output folder:
Clarion Folder Contents
After deployment, verify in Clarion folder:
Validation Report Format
=== WebView2 COM Control Validation Report ===
Project: [ProjectName]
Path: [ProjectPath]
--- Standard COM Validation ---
[PASS] Interface GUID valid: {guid}
[PASS] Events GUID valid: {guid}
[PASS] Class GUID valid: {guid}
[PASS] TypeLib GUID valid: {guid}
[PASS] All GUIDs are unique
[PASS] Manifest uses clrClass
[PASS] ProgId matches: Namespace.ClassName
--- WebView2 Validation ---
[PASS] WebView2 NuGet package referenced
[PASS] wwwroot folder exists
[PASS] wwwroot/controls/index.html exists
[PASS] Virtual host mapping configured
[PASS] Host object implemented
[PASS] WebView2 initialization pattern correct
--- Deployment Validation ---
[PASS] DLL built successfully
[PASS] WebView2Loader.dll present
[PASS] wwwroot deployed to output
[PASS] Files copied to Clarion folder
=== Validation Complete ===
Issues Found: 0
Status: READY FOR DEPLOYMENT
Common Issues and Remediation
Issue: WebView2Loader.dll missing
Remediation: Ensure Microsoft.Web.WebView2 NuGet package is installed and build target copies native DLLs
Issue: wwwroot not copied to output
Remediation: Add to .csproj:
<ItemGroup>
<Content Include="wwwroot\**\*">
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
</Content>
</ItemGroup>
Issue: Virtual host mapping not found
Remediation: Add in WebView2 initialization:
_webView.CoreWebView2.SetVirtualHostNameToFolderMapping(
"localapp.clarioncontrols",
wwwrootPath,
CoreWebView2HostResourceAccessKind.Allow);
Issue: Host object not accessible from JavaScript
Remediation: Ensure host object class has [ComVisible(true)] and [ClassInterface(ClassInterfaceType.AutoDual)] attributes
Issue: Manifest uses comClass instead of clrClass
Remediation: Replace <comClass> with <clrClass> and add required attributes (name, runtimeVersion)