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

MSBuild构建时如何配置manageAppVersionAndBuildNumber为false

MSBuild环境下版本/构建号锁定配置说明

manageAppVersionAndBuildNumber 是Fastlane build_app(gym工具)针对Xcode原生打包流程封装的导出阶段专属参数,MSBuild不存在同名原生构建参数,无法直接复用Xcode场景下的参数写法。

这个参数的核心作用是禁止打包流程自动覆盖、修改项目内预设的版本号与构建号,如果你是在TeamCity+Fastlane环境下用MSBuild构建Xamarin.iOS / .NET for iOS项目,要实现完全一致的效果,直接通过MSBuild的内置属性配置即可,不需要关联Xcode侧参数:

  • 核心配置逻辑是关闭构建过程的版本号自动生成、锁定Info.plist中预写的版本配置,直接在你现有的MSBuild命令中追加对应/p参数即可,修改后的命令参考:
('msbuild', CONST['...'], "/p:Configuration=\"#{CONST['...']}\"", "/p:Platform=\"#{CONST['...']}\"", "/p:BuildIpa=True", "/p:AutoGenerateBuildNumber=False", "/p:IOSVersionCodeLocked=True")

涉及的参数作用说明:

  • /p:BuildIpa=True:开启MSBuild的ipa打包输出能力
  • /p:AutoGenerateBuildNumber=False:禁止构建流程自动生成、递增构建号
  • /p:IOSVersionCodeLocked=True:锁定项目Info.plist中配置的CFBundleShortVersionString(对外版本号)、CFBundleVersion(构建号)值,构建全流程不会被工具自动篡改

补充注意事项

如果你的CI流程是MSBuild只负责编译生成xcarchive,后续单独调用xcodebuild或者Fastlane build_app 做ipa导出,那导出阶段的版本锁定还是要在xcodebuild/build_app 环节配置manageAppVersionAndBuildNumber: false;如果从编译到出ipa全流程都由MSBuild完成,仅配置上述MSBuild参数即可生效。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.26 22:57:20