Visual studio 2010 MSBuild-自定义程序集版本格式

Visual studio 2010 MSBuild-自定义程序集版本格式,visual-studio-2010,msbuild,versioning,Visual Studio 2010,Msbuild,Versioning,在使用MSBuild生成程序集版本时,是否有任何方法可以对其使用自定义格式 例如,我们尝试使用类似“0.16.10r2.10717”的版本,但出现以下错误: 发出“system.reflection.assemblyversionattribute”错误--指定的版本“0.16.10r2.10717”无效。 我在网上搜索过,但似乎没有人要求解决这个问题。可能吗 我们使用Microsoft Visual Studio 2010和FinalBuilder 7来构建我们的项目。并且两者都必须由最多四个

在使用MSBuild生成程序集版本时,是否有任何方法可以对其使用自定义格式

例如,我们尝试使用类似“0.16.10r2.10717”的版本,但出现以下错误:

发出“system.reflection.assemblyversionattribute”错误--指定的版本“0.16.10r2.10717”无效。

我在网上搜索过,但似乎没有人要求解决这个问题。可能吗

我们使用Microsoft Visual Studio 2010和FinalBuilder 7来构建我们的项目。

并且两者都必须由最多四个整数组成,以句点分隔,每个整数不大于65534(
UInt16.MaxValue-1
)。以下任何一项都是有效的(C#语法):

还有另一个属性,它接受字符串作为版本;当您想要使用更复杂的字符串时(特别是当包含来自DVCS的提交ID时),可以使用它

简而言之,问题是:

  • AssemblyVersion:此版本用作程序集的CLR版本。当程序集具有强名称时,这是根据验证的版本

  • AssemblyFileVersion:这是Win32文件版本资源,显示在Windows资源管理器中程序集的属性中

  • AssemblyInformationalVersion:可在运行时通过
    应用程序.ProductVersion
    属性访问。它还用于
    应用程序.UserAppDataDirectory
    路径

[assembly: AssemblyVersion("1.2.3.4")]

// Let the compiler generate the build and/or revision numbers
[assembly: AssemblyVersion("1.2.3.*")]
[assembly: AssemblyVersion("1.2.*")]
// Use complex version number
[assembly: AssemblyInformationalVersion("0.16.10r2.10717")]

// Include Git commit ID
[assembly: AssemblyInformationalVersion("1.2b1-g39d1c0f")]