开发阶段如何在浏览器中运行MAUI Blazor App?
MAUI Blazor 开发阶段浏览器运行的问题解析
首先你对MAUI Blazor的定位有误解:MAUI Blazor是把Blazor WebAssembly嵌入到MAUI跨平台容器中的技术,它的核心是为移动/桌面平台提供基于Blazor的UI,本身并不直接支持在浏览器中作为Web项目运行——如果要开发可在浏览器运行的Blazor项目,应该用「Blazor Server」或「Blazor WebAssembly」项目模板,而非MAUI Blazor。
MAUI Blazor的工作原理
MAUI Blazor会把你的Blazor组件打包到对应平台的Web容器里:比如Android用Android WebView,Windows用WebView2,iOS用WKWebView,本质是在原生应用里运行一个内嵌的WebAssembly环境,所以开发阶段默认是在模拟器或真机上启动MAUI应用,而非浏览器。
解决你的需求(同时做MAUI和Web版)
如果想复用Blazor组件同时开发MAUI应用和Web项目,最规范的做法是:
- 创建一个Razor类库项目,把所有共享的Blazor组件、业务逻辑放到这个类库里
- 分别创建「MAUI Blazor App」和「Blazor WebAssembly App」两个项目,都引用这个Razor类库
- 开发Web版时直接启动Blazor WebAssembly项目,就能在浏览器里实时预览;开发MAUI版时启动MAUI Blazor项目,在模拟器/真机运行
临时调试方案(不推荐长期用)
如果只是想临时在浏览器里查看MAUI Blazor的组件效果,可以把MAUI Blazor项目中的wwwroot和Razor组件复制到一个新建的Blazor WebAssembly项目中临时运行,但这种方式会带来代码维护的冗余,不如共享类库的方案合理。
内容的提问来源于stack exchange,提问作者isidro manuel
相关产品推荐
相关产品推荐

