首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >版本号不使用SVN内部版本号

版本号不使用SVN内部版本号
EN

Stack Overflow用户
提问于 2013-07-13 02:29:28
回答 1查看 474关注 0票数 0

我不确定它是否缺乏理解,但我在我的WiX安装程序中实现了以下代码

代码语言:javascript
复制
<?ifdef svn.BUILD_NUMBER?>
  <?define PRODUCTVERSION="1.0.$(svn.BUILD_NUMBER).0"?>
<?else?>
  <?define PRODUCTVERSION="1.0.1.0"?>
<?endif?>

<Product Id="*" Name="My Installer" Language="1033" Version="$(var.PRODUCTVERSION)" Manufacturer="My Corporation" UpgradeCode="170e2710-5690-4433-8787-7bcd0a922fbc">

然而,无论我怎么尝试,我都不能让安装程序使用SVN修订版number...am,我错过了什么/做错了什么?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2013-07-13 03:29:49

变量必须具有以下三个前缀之一,具体取决于它们的创建方式:

  • var.
  • env.
  • sys.

Documentation

这个"svn.BUILD_NUMBER“是从哪里来的?

更新:

从您的评论来看,您似乎需要从项目外部获取修订号,并将其带到项目内部。有很多方法可以做到这一点。一些CI服务器将为提供修订号的构建设置环境变量。

在任何情况下,您都必须使用var.env.更正预处理器变量的用法:

代码语言:javascript
复制
<?ifdef env.BUILD_NUMBER?>
  <?define PRODUCTVERSION="1.0.$(env.BUILD_NUMBER).0"?>
<?else?>
  <?define PRODUCTVERSION="1.0.1.0"?>
<?endif?>

如果您需要首先创建环境变量,则运行如下命令即可:

代码语言:javascript
复制
set BUILD_NUMBER=
for /F "tokens=1,2"  %t  in ('svn info') do ^
    @if "%t"=="Revision:" set BUILD_NUMBER=%u

根据您的需要,您可以获得更多的功能:生成一个XML (.wxi),使用MSBuild (参见您参考的文章)来运行诸如执行svn info这样的任务,使用snv info --xml进行一些svn info处理,...

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/17621664

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档