Skip to content
CAI
Software that uses CAICheck a score

VBAndCs/Vazor

44.0

Weak · 28 September 2026

3.3k

lines of production code

VB.NET

primary language

4

measurements over time

CAI band scale
CAI trend line
CAI lens gauges

What this system is

Features

Added Vazor template and project scaffolding for ASP.NET Core 6.0

The VazorEx area now includes the complete source files for the VazorTemplateSetup package, which provides Visual Studio project and item templates for ASP.NET Core 6.0 applications. This includes the solution structure, package initialization, and the specific templates for Vazor MVC and Razor Pages, enabling developers to generate new projects with integrated VB.NET XML (vbxml) support for server-side rendering.

VazorEx · high confidence

Added Vazor view templates for Home and Layout

Introduced Vazor support by adding new view template files: \Index.vazor.vb\ and \Index.vbxml.vb\ for the Home view, and \Layout.vbxml.vb\ for the shared layout. These files define the structure and rendering logic for the application's UI components using the Vazor framework, enabling the use of VB.NET code within Razor-like templates.

WebApp1 · high confidence

Added VazorPages1 project with VB.NET Razor Pages and Vazor integration

The VazorPages1 project was added, establishing a .NET 6 ASP.NET Core application using VB.NET. This includes the standard Razor Pages structure (Index, Error, Privacy) with corresponding VB code-behind files. Crucially, it integrates the Vazor library to enable VB XML literals for server-side rendering, as seen in the Index and Layout views where VB code is embedded within XML structures. The project configuration includes IIS Express settings, dependency references to Vazor and ZML, and standard ASP.NET Core startup and hosting files.

VazorPages1 · high confidence

Behavioural changes

Vazor updated for .NET 6 and VS2022 with new templates and auto-completion

The Vazor extension and project templates have been updated to support Visual Studio 2022 and .NET 6. The README and documentation have been refreshed to reflect these changes, including new project templates for ASP.NET MVC Core 6.0 and Razor Pages 6.0. Additionally, the solution file has been updated to include a new VazorPages1 project, and the license year has been updated to 2019-2020. The update also introduces HTML5 auto-completion for VB XML literals and ZML support.

(repo-wide) · high confidence

Vazor view management refactored to support .NET 6 and ZML

The Vazor library has been updated to target .NET 6, as evidenced by the build artifacts and project configuration. The internal view management system has been refactored: the previous \IVazorView\ interface and \VazorViewCache\ were removed and replaced with a new \VazorViewMapper\ that uses a \ConcurrentDictionary\ to store \ViewInfo\ objects containing raw byte content. This change supports the addition of ZML parsing capabilities via the \ZML.1.0\ dependency (version 1.1.2) and \Microsoft.Extensions.FileProviders.Abstractions\ (version 6.0.0). The \AnchorTagHelper\ and \TagHelper\ base classes have also been introduced to handle ASP.NET Core tag helper processing.

Vazor · high confidence

Dependencies

Upgrade to .NET 6 and update dependencies

The project has been upgraded from .NET Core 3.0 to .NET 6.0. This includes updating the target framework to net6.0 across multiple project files (Vazor, WebApp1, VazorTemplateSetup) and updating associated NuGet packages to their .NET 6 compatible versions, such as Microsoft.AspNetCore.Mvc.Razor.RuntimeCompilation and Microsoft.AspNetCore.Mvc.NewtonsoftJson to version 6.0.2, and Microsoft.Extensions.FileProviders.Abstractions to 6.0.0. The Vazor library itself has been updated to version 2.0, and ZML support has been added with version 1.1.2 of the ZML.1.0 package.

(dependencies) · high confidence

Written by watchdog.canine.dev from the codebase's own history, inside the signed delivery this page is composed from.

How this codebase got here

Score

  • CAI 34 → 44 (+10.4)
  • Rubric changed (rubric-2026.08.15 → rubric-2026.09.16) — scores are not directly comparable.

Lenses

  • Code Health 72 → 87 (+15.1)
  • Architecture 96 → 96 (-0.1)
  • Maturity 45 → 37 (-8.4)
  • Readiness 17 → 23 (+6.4)
  • Security 32 → 87 (+54.2)
  • Accessibility 80 → 80 (+0.0)

Resolved (11)

  • Build status unknown
  • Duplicated block (11 lines × 2) (WebApp1/Views/Shared/Layout.vbxml.vb)
  • Duplicated block (15 lines × 2) (WebApp1/Views/Shared/Layout.vbxml.vb)
  • Monorepo: only 1 of 3 solutions was scored
  • No exposed public API
  • Shell project: Vazor (Vazor/Vazor.vbproj)
  • Shell project: VazorPages1 (VazorPages1/VazorPages1.vbproj)
  • Shell project: WebApp1 (WebApp1/WebApp1.vbproj)
  • XML-doc coverage: Vazor (Vazor/Vazor.vbproj)
  • XML-doc coverage: VazorPages1 (VazorPages1/VazorPages1.vbproj)
  • XML-doc coverage: WebApp1 (WebApp1/WebApp1.vbproj)

New (32)

  • AbstractVbXmlCompletionProvider.GetAttribute (cognitive 18) (VazorEx/VbXmlCompletionProvider/AbstractVbXmlCompletionProvider.vb)
  • AbstractVbXmlCompletionProvider.GetAttributeItems (cognitive 64) (VazorEx/VbXmlCompletionProvider/AbstractVbXmlCompletionProvider.vb)
  • AbstractVbXmlCompletionProvider.GetAttributeItems (cyclomatic 22) (VazorEx/VbXmlCompletionProvider/AbstractVbXmlCompletionProvider.vb)
  • AbstractVbXmlCompletionProvider.GetAttributes (cognitive 17) (VazorEx/VbXmlCompletionProvider/AbstractVbXmlCompletionProvider.vb)
  • AbstractVbXmlCompletionProvider.GetChangeAsync (cognitive 18) (VazorEx/VbXmlCompletionProvider/AbstractVbXmlCompletionProvider.vb)
  • AbstractVbXmlCompletionProvider.GetChangeAsync (cyclomatic 21) (VazorEx/VbXmlCompletionProvider/AbstractVbXmlCompletionProvider.vb)
  • ClassTooLong: AbstractVbXmlCompletionProvider (VazorEx/VbXmlCompletionProvider/AbstractVbXmlCompletionProvider.vb)
  • EmptyCatchBlock (VazorEx/VbXmlCompletionProvider/AbstractVbXmlCompletionProvider.vb)
  • EmptyCatchBlock (VazorEx/VbXmlCompletionProvider/AbstractVbXmlCompletionProvider.vb)
  • End-of-life runtime: .NET net6.0
  • Further orphaned files (smaller)
  • MethodTooLong: GlyphTags.GetTags (VazorEx/VbXmlCompletionProvider/GlyphTags.vb)
  • No ADRs found
  • Off the main sequence: VbXmlCompletionProvider
  • Orphaned knowledge (VazorEx/VbXmlCompletionProvider/AbstractVbXmlCompletionProvider.vb)
  • Orphaned knowledge (VazorEx/VbXmlCompletionProvider/ISyntaxFacts.vb)
  • SyntaxTreeExtensions.FindSkippedTokenBackward (cognitive 16) (VazorEx/VbXmlCompletionProvider/SyntaxTreeExtensions.vb)
  • SyntaxTreeExtensions.FindSkippedTokenForward (cognitive 16) (VazorEx/VbXmlCompletionProvider/SyntaxTreeExtensions.vb)
  • Thin analysable surface across projects
  • TodoComment (VazorEx/VbXmlCompletionProvider/ISyntaxFacts.vb)
  • …and 12 more

Architecture

  • Unchanged — 2 containers · 0 contexts · 0 edges

Written by watchdog.canine.dev from the codebase's own history, inside the signed delivery this page is composed from.

Survey your own repository

VBAndCs/Vazor was measured the same way every project in this corpus was: the same rubric, at a pinned commit, with the result published in full. Point a surveyor at a repository you know and see whether you agree with it.

About this page

  • The score is its most recent published measurement, taken on 28 September 2026 at a pinned commit. It is not a live figure and does not change until the project is measured again.
  • Measured at commit 007a314981752f9ab577c04d5ff15b7dbe505bf5 — the exact code this score is about.
  • Scored under rubric-2026.09.16 — the same rubric and the same method as every other entry in this index.
  • Measured by watchdog.canine.dev using codehealth-analyzer preprod-2d9048c36d26.