0

我正在 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 中,它们的版本控制与此一致。

4

1 回答 1

1

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

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

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

于 2012-08-09T23:25:52.677 回答