不用手动搭工程,也不需要先弄懂 Blazor 的装配细节。装一个命令行工具,敲一条命令,Known 就会给你生成一个开箱就能跑的完整项目——登录、菜单、布局、数据库都接好了。你要做的只是运行它,然后改文字。
先准备一样东西:.NET 10 SDK
只需安装免费的 .NET 10 SDK(装完自带 dotnet 命令)。终端里验证一下:
dotnet --version
显示 10.x.x 就 OK。没装的话去 https://dotnet.microsoft.com/download 下载 .NET 10 SDK。
第一步 · 安装 known 命令
Known 自带一个命令行工具,用来一键生成项目骨架。全局安装一次即可:
dotnet tool install --global Known.Cli
装好后输入 known --version 能看到版本号就说明成功了。
如果提示找不到工具(内网、或版本还没正式发布),给命令加一个源:
dotnet tool install --global Known.Cli --add-source <你的 NuGet 源>; 也可以先跳过工具,照着项目结构导览 直接用仓库里的样例开干。
第二步 · 生成你的项目
先建一个空文件夹进去(名字随意),然后让 known 生成项目。这里的 MyApp 就是你的应用名,Known 会以它为主名派生出下面几个工程:
mkdir playground && cd playground
known new MyApp
跑完你会得到这样一个目录(缩进即层级,MyApp/ 是生成出来的项目根目录):
MyApp/ ← 项目根目录,后面都在这里
├── MyApp/ 业务插件:你写页面、服务、数据的地方
├── MyAppWasm/ 纯前端宿主(只在浏览器里跑)
├── MyAppWeb/ 全栈一体宿主(前端 + 后端 + 数据库,一个进程搞定)
├── MyAppWin/ 桌面宿主(Windows 窗口程序)
└── MyApp.slnx 解决方案文件(用编辑器打开它)
名字随你换,业务插件用你给的名字,三个宿主在其后加
Wasm/Web/Win。例如known new Order会生成Order / OrderWasm / OrderWeb / OrderWin。
数据库先用默认的 SQLite 就好——它免装服务,跑起来即用。等你要连自己的库,再给命令加一个
--db让脚手架顺手配好连接:known new MyApp --db mysql。可选sqlite / sqlserver / mysql / postgres / oracle / dm / access,不写就是sqlite。
第三步 · 跑起来
四个宿主先跑最省事的 Web(它把前端、后端、数据库合在一个进程里,零额外配置)。进入项目根目录再运行:
cd MyApp
dotnet run --project MyAppWeb
第一次运行会还原依赖、编译,耐心等十几秒。看到类似 Now listening on: https://localhost:50001 就成功了。用浏览器打开:
https://localhost:50001
你会看到一个登录页,用内置的演示账号登录:
用户名:admin
密码: admin123
登录后就是带左侧菜单的后台首页。到这里「五分钟跑起来」就完成了——你手里已经是一个结构完整、能登录、有布局、自带 SQLite 数据库的真实项目。
另外两个宿主随时可试:
dotnet run --project MyAppWasm(纯前端)、或直接运行MyAppWin(桌面窗口)。它们用的都是同一份MyApp业务代码。
第四步 · 改点属于你的东西
首页就在业务插件里的 MyApp/Pages/Index.razor。打开它,把文字改一改:
@page "/"
@attribute [Menu("首页", Icon = "home", Order = 1)]
<Card Title="你好,这是我的第一个 Known 应用" Icon="home">
<p>改这里的内容,保存后刷新页面就能看到。</p>
</Card>
保存后刷新浏览器,首页标题就变了。注意那行 [Menu] 特性——它让这一页自动出现在左侧菜单里。也就是说,加一个页面 = 新建一个 .razor + 写一行 [Menu],你不需要去任何地方手动登记路由或菜单。
想加一个新页面,就在 MyApp/Pages/ 里新建 About.razor,照着写:
@page "/about"
@attribute [Menu("关于", Icon = "info", Order = 2)]
<Card Title="关于">
<p>我是新加的页面。</p>
</Card>
刷新一下,侧边栏就多出了「关于」。
这些你现在不用搞懂
脚手架已经替你把下面这些都接好了,等需要时再回头看即可,现在不认识完全没关系:
MyApp/AppConfig.cs里的AddMyApp(...)——一行完成应用装配、模块扫描、菜单分组声明。MyAppWeb/AppServer.cs——把接口映射成 HTTP 端点、登录鉴权、初始化数据库。MyApp/Services/AuthService.cs——内置演示账号admin / admin123(正式项目请改成查库 + 密码哈希)。
下一步
- 想知道生成的每个目录、每种宿主分别负责什么:项目结构导览
- 想按 Web / 桌面 / 纯前端三种形态分别深入:三种运行形态
- 想从零搞懂每一行装配怎么来的、亲手做一个订单模块:写第一个 CRUD 页面
- 用 Claude / QoderWork 等 AI 助手帮你写 Known 代码:装上随仓库发布的 AI 智能体技能
扫码关注公众号
扫码加入 QQ 群