GeneXus:如何通过MSBUILD任务导出知识库等相关属性
GeneXus MSBuild 导出KB相关属性支持说明
完全支持,GeneXus 15 Upgrade 3及以上版本原生提供了对应的MSBuild任务,可以实现和IDE手动导出KB属性完全等效的操作,覆盖知识库、版本、生成器、环境四个维度的全量属性导出,全程不需要依赖IDE界面操作,适合集成到自动化构建、CI/CD流程中。
实现方式
- 首先在MSBuild脚本中导入GeneXus自带的任务目标文件,默认路径为GeneXus安装目录下的
Build\GeneXus.Tasks.targets,一般通过公共变量$(GX_PROGRAM_DIR)引用即可,不需要写死绝对路径。 - 调用官方内置的
ExportKBProperties任务,通过参数控制导出范围和输出位置,核心参数说明如下:KBPath:必填项,填写目标知识库的本地根目录路径VersionName:可选项,指定要导出属性的知识库版本名称,传*代表导出所有版本属性,留空默认导出当前激活版本的属性GeneratorName:可选项,指定目标生成器(如.NET、Java、Angular、Android等),传*代表导出所有已配置生成器的属性,留空默认导出当前激活生成器的属性EnvironmentName:可选项,指定生成器下的目标部署环境,传*代表导出对应生成器下所有环境的属性,留空默认导出当前激活环境的属性OutputFile:必填项,填写导出属性文件的保存路径,支持.xml和.json两种格式,任务会根据文件后缀自动选择导出格式
最小可用示例脚本
<Project DefaultTargets="ExportKBProps" xmlns="http://schemas.microsoft.com/developer/msbuild/2003"> <!-- 导入GeneXus MSBuild任务,GX_PROGRAM_DIR可通过环境变量或命令行参数传入 --> <Import Project="$(GX_PROGRAM_DIR)\Build\GeneXus.Tasks.targets" /> <Target Name="ExportKBProps"> <ExportKBProperties KBPath="C:\Work\YourKBPath" VersionName="*" GeneratorName="*" EnvironmentName="*" OutputFile="C:\Work\KB_Full_Properties.json" /> </Target> </Project>
注意事项
- 执行脚本前需要确保运行环境已经配置好有效的GeneXus授权,授权校验规则和IDE运行时完全一致
- 该任务导出的属性字段和IDE中「知识库 -> 导出属性」功能导出的内容完全一致,不存在字段缺失
- 如果传入的版本、生成器、环境名称不存在,任务会直接抛出明确的构建错误终止执行,不会生成无效的空文件
内容的提问来源于stack exchange,提问作者ealmeida
相关产品推荐
相关产品推荐

