You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

是否可以将C#项目编译为单文件UMD JavaScript库?

解答:在无特定环境依赖的JS场景调用C#类库的方案

完全可以实现,不需要依赖Blazor框架,也不需要DOM或其他特定环境API,基于独立的.NET WebAssembly运行时即可实现:

  • 首先创建普通.NET类库项目编写需要暴露的C#逻辑,用[JSExport]属性标记需要对外暴露的方法,全程不需要引入任何Blazor相关依赖包
  • 发布时指定WASM编译目标,配置关闭Blazor专属绑定、DOM依赖等选项,执行dotnet publish命令生成独立运行时产物
  • 输出产物包含dotnet.js入口文件和对应WASM二进制,在任意支持WebAssembly标准的JS环境引入该入口,完成运行时初始化后即可直接调用预先封装的C#方法

该模式完全脱离Blazor的SPA、浏览器DOM绑定逻辑,只要JS环境支持WebAssembly标准即可运行,可适配Node.js、Electron内嵌JS、嵌入式JS引擎等各类场景。

如果需要进一步缩减运行时体积、提升启动速度,也可以使用.NET Native AOT能力将C#代码直接编译为WASM文件,仅导出需要调用的接口,产物无额外依赖,适配性更强。

内容的提问来源于stack exchange,提问作者Elringus

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.25 18:27:03