【问题标题】:Create a .net DLL version without a revision number创建没有修订号的 .net DLL 版本
【发布时间】:2012-08-09 23:08:10
【问题描述】:

我正在 Visual Studio 2012 中构建一个 .NET 4 应用程序,并希望以该格式对我的 .net 程序集进行版本控制。

[assembly: AssemblyInformationalVersion("6.0.1")]
[assembly: AssemblyVersion("6.0.*.0")]

但是,当我构建以下内容时出现错误:

Properties\AssemblyInfo.cs(40,12): error CS0647: Error emitting 'System.Reflection.AssemblyVersionAttribute' attribute -- 'The version specified '6.0.*.0' is invalid'

这甚至可能吗?我注意到在某些 Microsoft DLL 中,它们的版本控制与此一致。

【问题讨论】:

    标签: .net dll build version .net-assembly


    【解决方案1】:

    每个版本部分必须在 0 - 65535 范围内。

    拥有动态版本字符串的一种方法是在另一个类(比如 VersionClass 类)中声明一个公共 const 字符串,并将其用作 AssemblyVersion 的版本字符串参数。然后编写一个脚本(使用 powershell)以使用版本字符串的任何动态值重新创建 VersionClass。将此脚本作为预构建事件运行,VersionClass 在每次编译时都会被覆盖。

    更新: 这是一个简化版本设置的工具:http://autobuildversion.codeplex.com/ 我还没有尝试过,但它看起来可以处理你想要的场景。

    【讨论】:

    • 它只接受字符串末尾的星号,中间不接受。
    猜你喜欢
    • 1970-01-01
    • 2010-12-04
    • 2010-09-14
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多