Jazor 0.26.3

dotnet add package Jazor --version 0.26.3
                    
NuGet\Install-Package Jazor -Version 0.26.3
                    
This command is intended to be used within the Package Manager Console in Visual Studio, as it uses the NuGet module's version of Install-Package.
<PackageReference Include="Jazor" Version="0.26.3" />
                    
For projects that support PackageReference, copy this XML node into the project file to reference the package.
<PackageVersion Include="Jazor" Version="0.26.3" />
                    
Directory.Packages.props
<PackageReference Include="Jazor" />
                    
Project file
For projects that support Central Package Management (CPM), copy this XML node into the solution Directory.Packages.props file to version the package.
paket add Jazor --version 0.26.3
                    
#r "nuget: Jazor, 0.26.3"
                    
#r directive can be used in F# Interactive and Polyglot Notebooks. Copy this into the interactive tool or source code of the script to reference the package.
#:package Jazor@0.26.3
                    
#:package directive can be used in C# file-based apps starting in .NET 10 preview 4. Copy this into a .cs file before any lines of code to reference the package.
#addin nuget:?package=Jazor&version=0.26.3
                    
Install as a Cake Addin
#tool nuget:?package=Jazor&version=0.26.3
                    
Install as a Cake Tool

Jazor

定位:将受支持 C# 语义编译为确定性 ECMAScript 模块的核心 NuGet 包。

Jazor 包含框架无关的 runtime contract、analyzer、source generator、Emit 工具、MSBuild 集成与 ASP.NET Core 集成。它可以用于编写普通 ECMAScript 类库;Vue authoring、Razor-to-Vue、Vue bindings 与 Vue runtime 由独立的 Jazor.Vue opt-in 包提供。

资源契约:已有 JavaScript 由 manifest.json + dist/** 携带,Jazor 编译模块由程序集内的 Jazor.Generated.ModuleCatalog 携带。两者由最终宿主构建后的 Emit 一次性物化。

类库携带 JavaScript 只有这两种形式;RazorVue 是纯 Jazor 类库的 authoring 场景,不是第三种 carrier。ModuleCatalogECMAScriptCode)是开发者编写的 C#/RazorVue 模块的程序集内生成载体; manifest.json + dist/**ECMAScript、Vue、Vuetify 等已有 JavaScript 的包内资源载体。 ModuleCatalog 的存在是因为 analysis/source generator 的标准输出是 C#;它是纯 Jazor 的正式 生成格式,不是遗留兼容载体。

安装

<ItemGroup>
  <PackageReference Include="Jazor" Version="0.26.3" />
</ItemGroup>

纯 Jazor 类库(开发者编写 C# 并声明 [ECMAScriptModule])直接引用 Jazor。类库保留默认 JazorMode=none,自身生成模块写入 DLL 内的 ModuleCatalog;最终可执行或 Web 宿主负责 收集程序集 catalog 与传递的资源 manifest 并输出产物。编写 RazorVue 组件的项目属于纯 Jazor 类库,必须直接引用 JazorJazor.Vue;只消费上游类库的项目不会因普通引用获得工具资格。

定义 module 的类库应隔离这项工具引用:

<PackageReference Include="Jazor" Version="0.26.3" PrivateAssets="all" />

最终 Exe/WinExe 宿主需要 Emit 时直接引用 Jazor,不设置 PrivateAssets。包内 build/Jazor.propsbuild/Jazor.targets 只对直接引用激活 compiler/analyzer/Emit; buildTransitive/Jazor.Resources.targets 只传递 ECMAScript resource manifest locator。

多项目场景遵循“谁使用,谁直接引用”:只消费上游程序集的中间类库不因资源传递而启用 Jazor 工具链;最终宿主必须自行直接引用 Jazor 并配置 Emit。完整的工具资产隔离和资源传播规则见 类库产物与引用契约

宿主输出

<PropertyGroup>
  <JazorMode>debug</JazorMode>
  <JazorDir>$(MSBuildProjectDirectory)\jazor\</JazorDir>
</PropertyGroup>
JazorMode 行为
none 默认值,不写入产物
debug 直接物化模块、source map、jazor-manifest.json 与 import map
release 经内置 Netpack 路径输出生产浏览器 bundle 与所需资源

JazorDir 是最终输出目录。Jazor.targets 在最终 Exe/WinExeBuild 后调用 Jazor.Emit,Emit 先在同卷 staging 目录完成校验,再原子替换该目录。JazorSSR=true 会在 同一依赖闭包下额外物化 SSR runner、Vue 和 server-renderer 所需资源;开发 reload 消费本次 成功 Emit 的模块与 HMR 元数据。输出目录不是类库 carrier,也不会成为下一次资源发现的输入。

可选生态包

Vue Router、Pinia、UI 组件库与 CSS-in-JS 均需按使用场景显式引用对应 ECMAScript.* 包:

<ItemGroup>
  <PackageReference Include="ECMAScript.VueRoute" Version="0.26.3" />
  <PackageReference Include="ECMAScript.Pinia" Version="0.26.3" />
  <PackageReference Include="ECMAScript.Vuetify" Version="0.26.3" />
  <PackageReference Include="ECMAScript.TDesign" Version="0.26.3" />
  <PackageReference Include="ECMAScript.Style" Version="0.26.3" />
</ItemGroup>

ECMAScript.VueJazor.Vue 提供;ECMAScript.Pinia.Testing 是叠加在 ECMAScript.Pinia 之上的测试期 opt-in 包。所有 Jazor、Jazor.Vue 与 Vue 生态包应保持相同版本。

Blazor framework CLR mapping 由 Jazor.CLR.Generator 生成并由 Jazor.CLR 唯一持有;其 runtime JavaScript 由 ECMAScriptmanifest.json + dist/** 提供。Jazor 不因此引用 ASP.NET Core framework。ECMAScript.Blazor 不随核心包安装,只作为 Jazor.Vue 可选带入的标准 ECMAScript 模拟/投影扩展,不贡献 whitelist 或 runtime module。

SSR

在 ASP.NET Core Web 项目中配置 release 与 SSR:

<PropertyGroup>
  <JazorMode>release</JazorMode>
  <JazorSSR>true</JazorSSR>
</PropertyGroup>
builder.Services.AddJazorSsr();

var app = builder.Build();
app.UseJazorHost();
app.UseJazorSsr("components/app.mjs", new { Title = "Jazor" });

ASP.NET Core 持有请求管线、静态资源与响应文档,DenoHost 执行本地 Vue 服务器模块,Netpack 只负责浏览器构建。应用不需要全局 Deno、node_modules、CDN 或远程 import。

Razor-to-Vue

编写 RazorVue 组件的 Razor SDK 项目必须直接引用两个包:

<ItemGroup>
  <PackageReference Include="Jazor" Version="0.26.3" />
  <PackageReference Include="Jazor.Vue" Version="0.26.3" PrivateAssets="all" />
</ItemGroup>

该集成直接消费官方 Razor Source Generator 完成后的最终 Compilation,不需要 EnableRazorHostOutputs、Razor IR、RazorCodeDocument 或二次解析生成 C#。

相关文档

Product Compatible and additional computed target framework versions.
.NET net11.0 is compatible. 
Compatible target framework(s)
Included target framework(s) (in package)
Learn more about Target Frameworks and .NET Standard.

NuGet packages (11)

Showing the top 5 NuGet packages that depend on Jazor:

Package Downloads
ECMAScript.Vuetify

Vuetify C# bindings and RazorVue component contracts backed by package-local manifest.json and dist runtime resources.

ECMAScript.VueRoute

Vue Router 4 C# bindings and RazorVue contracts backed by package-local manifest.json and dist runtime resources.

ECMAScript.TDesign

TDesign Vue Next C# bindings and RazorVue contracts backed by package-local manifest.json and dist runtime resources.

ECMAScript.Pinia

Pinia 4 C# host bindings backed by package-local manifest.json and dist runtime resources for Jazor applications.

Jazor.Vue

Opt-in Razor-to-Vue SDK integration for official Razor Source Generator output. Generated components use Jazor.Generated.ModuleCatalog and Vue runtime resources use manifest.json plus dist assets.

GitHub repositories

This package is not used by any popular GitHub repositories.

Version Downloads Last Updated
0.26.3 55 8/31/2026
0.26.1 67 8/31/2026
0.26.0 61 8/31/2026
0.25.0 100 8/28/2026
0.24.0 104 8/27/2026
0.23.0 96 8/26/2026
0.22.0 135 8/25/2026
0.21.0 152 8/25/2026
0.20.0 155 8/24/2026
0.17.0 256 8/19/2026
0.16.3 137 8/18/2026
0.16.2 135 8/17/2026
0.16.1 126 8/17/2026
0.16.0 111 8/16/2026
0.15.0 102 8/15/2026
0.14.0 85 8/14/2026
0.13.0 100 8/12/2026
0.12.0 86 8/12/2026
0.11.0 89 8/11/2026
0.10.0 89 8/11/2026
Loading failed