标签: version-numbering

为什么Visual C++版本号中包含逗号而不是点

我已经看到我的Visual C++项目具有以下声明,这些声明使用COMMAS而不是DOTS用于版本:

#define FILEVER        11,0,2,0
#define PRODUCTVER     11,0,2,0
#define STRFILEVER     "11, 0, 2, 0\0"
#define STRPRODUCTVER  "11, 0, 2, 0\0"
Run Code Online (Sandbox Code Playgroud)

这里MS文章也有逗号相同的值(实际上上述声明基于该文章).我们为什么在这里使用COMMAS?当我打开编译的文件属性时,我看到FileVersion为11.0.2.0但是ProductVersion为11,0,2,0 - 我的QA朋友说它是一个bug :).我缺少一些标准或者一些内部机制吗?

versioning version-numbering visual-c++

5
推荐指数
1
解决办法
935
查看次数

如何在VB6中设置完整的内部版本号(Major.Minor.Build.Revision)

如何设置vb6(VPIaccessMaker.vbg)的完整版本号,从Visual Basic我可以将Major.Minor.Revision设置为3.2.2,在这种情况下我的exe版本将是3.2.0.2.如何在这种情况下设置内部版本号,如3.2. 1.2在此输入图像描述.

vb6 version-numbering

4
推荐指数
1
解决办法
2930
查看次数

如何比较C++中的版本号

我们的教授希望我们编写一个程序来比较两个版本号,如0.1 <0.2或1 <1.1.还有一些技巧,如.0.4 <.1.所以,我的想法首先判断数字是否以点开头,如果是,我向它添加0.之后我删除了除第一个之外的其他点.然后我将字符串转换为数字并进行比较.这是我在第一步中所做的.

string numb1,numb2;
if(numb1[0]=='.')
{
    numb1 ="0"+ numb1;
}
Run Code Online (Sandbox Code Playgroud)

我对第二个数字做同样的事情.现在我需要帮助向我展示如何除去第一个点之外的点.我们的教授希望我们使用这个特定的函数:int compareVersions(string ver1,string ver2).如果ver1> ver2:如果ver1 <ver2则返回1:返回-1否则返回0.

顺便说一下,一些视觉数可能很长,如2.3.2.2.3.1.1.5.3.5.6.2或1.1.1.1.1.1.1.

c++ string-comparison version-numbering

4
推荐指数
1
解决办法
2326
查看次数

使用计数器从文件设置Teamcity版本号

我目前正在尝试更新版本号.在TeamCity中使用包含版本号的Nant构建文件.如果我只是用

<property name="versionNo" value="2.16.3."/>
.
.
<echo message="##teamcity[buildNumber '${versionNo}']"></echo> 
Run Code Online (Sandbox Code Playgroud)

在脚本中buildNumber更新到2.16.3但我也希望在这个版本号上有计数器.意思是我想要的

<echo message="##teamcity[buildNumber '${versionNo}.{0}']"></echo> 
Run Code Online (Sandbox Code Playgroud)

但这不起作用.有没有人知道如何做到这一点,在这个解决方案中尝试了很多东西http://binary-notes.blogspot.com/2011/05/controlling-application-version-number.html但是,$ {Version}参数是一个线索为了我 ?

更新

通过在Teamcity中使用{0}作为buildnumber并将该内部版本号附加到文件中我自己的内部版本号来实现实现

<property name="versionNo" value="2.16.3."/>
.
.
<echo message="##teamcity[buildNumber '${versionNo}.${environment::get-variable('BUILD_NUMBER')}']"></echo> 
Run Code Online (Sandbox Code Playgroud)

nant teamcity version-numbering

3
推荐指数
1
解决办法
2680
查看次数

如何解析版本号进行比较呢?

场景:我有一个简单的应用程序,可以检查其RSS源并查看是否有更新的版本.因此,我想检查当前版本是否小于RSS源上存在的版本.理想情况下简单如下:

CURRENTVERSION < updateVersion
Run Code Online (Sandbox Code Playgroud)

问题:版本控制由major.minor.revision.build组成,我不知道如何将其解析为一个数字来执行版本检查.

这些是要比较的参数:

#define CURRENTVERSION = 0,2,5,1
Run Code Online (Sandbox Code Playgroud)

从Web下载的版本是"0.2.6.1"(作为字符串).

检查一个是否比另一个小的最佳方法是什么?

我已经尝试将它转换为double,但值变为0.2(只有第一个.正在被解析,rest被忽略).

约束:它不能是使用.NET库的解决方案,因为当没有.NET框架时,应用程序必须工作.

(编辑)由于Karthik T的回答,我决定采用以下解决方案.

struct Version
{
    Version(string versionStr)
    {
        sscanf(versionStr.c_str(), "%d.%d.%d.%d", &major, &minor, &revision, &build);
    }

    bool operator<(const Version &otherVersion)
    {
        if(major < otherVersion.major)
            return true;
        if(minor < otherVersion.minor)
            return true;
        if(revision < otherVersion.revision)
            return true;
        if(build < otherVersion.build)
            return true;
        return false;
    }

    int major, minor, revision, build;
};
Run Code Online (Sandbox Code Playgroud)

c++ parsing version-numbering

3
推荐指数
2
解决办法
9352
查看次数

是否可以将TextBlock的Text绑定到应用程序AssemblyVersion?

如果我在UserControl的角落有一个TextBlock,可以将Text属性绑定到AssemblyInfo.cs中的Assembly Version Number

WPF:

<TextBlock Text="{Binding AssemblyVersion}"/>
Run Code Online (Sandbox Code Playgroud)

AssemblyInfo.cs中

[assembly: AssemblyVersion("1.0.0.0")]
Run Code Online (Sandbox Code Playgroud)

c# data-binding wpf version-numbering

3
推荐指数
1
解决办法
1814
查看次数

如何在我的DLL中嵌入版本号和版权?

我有一个VB Express 2008类库,想要嵌入版本号和一些版权/联系信息.

我怎么做?

dll version-numbering visual-studio-2008 visual-studio copyright-display

2
推荐指数
1
解决办法
7587
查看次数

正确排序包含版本号的列表

所以,我有一个看起来像这样的版本列表:

v1.1.0
v1.2.0
v1.3.0
v1.4.0
v1.5.0
v1.7.0
v1.8.0
v1.9.0
v2.0.0
v2.1.0
v2.10.0
v2.11.0
v2.12.0
v2.2.0
v2.3.0
v2.4.0
v2.5.0
v2.6.0
v2.7.0
v2.8.0
v2.9.0
Run Code Online (Sandbox Code Playgroud)

问题是,它们的顺序不正确。我是 Powershell 的新手,所以我在尝试对它们进行排序时遇到了一些问题。我试图这样做:

$tags = git tag
$versions = $tags | %{ new-object System.Version ($_) } | sort
Run Code Online (Sandbox Code Playgroud)

但我收到此错误:

新对象:使用“1”个参数调用“.ctor”的异常:“版本字符串部分太短或太长。” 在行:1 字符:24 + $versions = $tags | %{ 新对象 System.Version ($_) } | sort + ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + CategoryInfo : InvalidOperation: (:) [New-Object], MethodInvocationException +fullyQualifiedErrorId : ConstructorInvokedThrowException,Microsoft.PowerShell.Commands.NewObjectCommand

任何人都可以帮忙吗?


更新

我使用了如下所示的解决方案之一:

$location = Get-Location
$path = $location.tostring() + "\CHANGELOG.md"
$tags …
Run Code Online (Sandbox Code Playgroud)

sorting powershell version-numbering

2
推荐指数
1
解决办法
616
查看次数

为什么Linux版本号没有超过2.6?

2.6之前Linux每隔几年从2.0上升到2.2到2.4.它为什么停在2.6?

版本号是否会超过2.6?

linux version-numbering linux-kernel

1
推荐指数
1
解决办法
176
查看次数

将字符串转换为 int 并仅为 TFS 中的内部版本号增加最后一位数字

我正在寻找一种将字符串 1.2.0 转换为 int 的方法,以便我可以增加最后一位数字。最终结果应该是 1.2.1

$values = '1.2.0'

$after = $values.split('.');

$result = [int]$after;

# TODO increment the last decimal value, result should be 1.2.3

$result
Run Code Online (Sandbox Code Playgroud)

versioning powershell increment version-numbering

1
推荐指数
1
解决办法
625
查看次数

将iOS应用程序版本号设置为表示UTC当前日期时间的整数

我希望每次构建时,Xcode 5中的版本号(CFBundleVersionCFBundleShortVersionString)都会自动设置为UTC时区的当前日期时间.

例如,201405041942手段May 4, 2014 at 7:42 PM UTC.

xcode version-numbering ios

0
推荐指数
1
解决办法
851
查看次数

替代版本编号方法的Eq定义

我正在尝试为替代版本编号方法定义Eq运算符.

type VersionCompound = Maybe Int -- x, 0, 1, 2, ...

type VersionNumber = [VersionCompound] -- x.x, x.0, x.1, x.2, ... , 1.0, 1.1, 1.2, ... 1.x.x, 2.x.x, 3.x.x, ...

instance Eq VersionNumber where
        [] == [] = True
        (x:[]) == (y:[]) = x == y
        (Nothing:xs) == ys = (xs == ys)
        xs == (Nothing:ys) = (xs == ys)
Run Code Online (Sandbox Code Playgroud)

据预计,它返回True了以下情况:x.x.x == x,1.x.x == x.1.x.x,x.1 == 1等,但相反,它会返回一个错误:

VersionNumber.hs:58:34:
    Overlapping …
Run Code Online (Sandbox Code Playgroud)

haskell version-numbering

-2
推荐指数
1
解决办法
75
查看次数