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

.NET MAUI如何基于同一解决方案创建不同应用?

.NET MAUI 实现多版本应用方案

完全可以在.NET MAUI中实现和Xamarin类似的多版本(Build Variants)应用,不需要创建新解决方案迁移内容,核心思路和Xamarin一致,以下是具体实现方式:

1. 解决方案配置+条件编译区分逻辑

和Xamarin的操作逻辑一致:

  • 在解决方案属性中创建新的配置(比如Debug.Staging、Release.Production)
  • 在对应配置的项目属性-生成中添加自定义编译符号(如STAGING)
  • 使用#if条件编译指令隔离不同版本的代码逻辑,示例:
#if STAGING
    var apiUrl = "https://staging.example.com";
#else
    var apiUrl = "https://prod.example.com";
#endif

2. 自定义Android应用标识与Manifest

.NET MAUI可通过项目文件(.csproj)的条件配置实现不同版本的应用信息区分:

  • 针对不同配置设置ApplicationId、VersionName等核心属性:
<PropertyGroup Condition="'$(Configuration)' == 'Debug.Staging'">
    <ApplicationId>com.yourcompany.app.staging</ApplicationId>
    <VersionName>1.0.0-staging</VersionName>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)' == 'Release.Production'">
    <ApplicationId>com.yourcompany.app</ApplicationId>
    <VersionName>1.0.0</VersionName>
</PropertyGroup>
  • 若需修改Manifest其他内容,可创建多份Manifest文件(如AndroidManifest.Staging.xml),再通过项目文件按配置引用:
<AndroidManifest Include="Platforms\Android\AndroidManifest.Staging.xml" Condition="'$(Configuration)' == 'Debug.Staging'" />
<AndroidManifest Include="Platforms\Android\AndroidManifest.xml" Condition="'$(Configuration)' != 'Debug.Staging'" />

3. 官方文档参考

微软官方文档中包含.NET MAUI多配置、多环境的相关指引,覆盖解决方案配置管理、条件编译使用、项目文件条件属性配置等核心内容。

附:西班牙文Xamarin示例核心内容翻译

该文章介绍了Xamarin.Android创建多版本应用的步骤:

  • 在解决方案中新建DebugDev、ReleaseProd等构建配置
  • 为每个配置设置不同的应用包名(Package Name)
  • 用#if编译指令隔离不同版本的功能代码(如测试环境API地址、调试入口)
  • 为不同版本自定义AndroidManifest,修改应用名称、权限、启动页等内容
  • 通过切换配置快速构建对应版本的安装包

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.22 23:12:02