【发布时间】:2010-12-13 01:33:16
【问题描述】:
我使用程序集信息版本号 - 并通过 VS 2008 手动推进。
有没有办法在我每次构建解决方案时自动提升次要版本号?
【问题讨论】:
标签: visual-studio-2008 assemblies
我使用程序集信息版本号 - 并通过 VS 2008 手动推进。
有没有办法在我每次构建解决方案时自动提升次要版本号?
【问题讨论】:
标签: visual-studio-2008 assemblies
Visual Studio 有一个内置机制:
在AssemblyInfo.cs里面,改一下这个设置:
[assembly: AssemblyVersion("1.0.*")]
星号指示 Visual Studio 为每个构建分配一个版本 1.0.d.s,其中 d 是自 2000 年 2 月 1 日以来的天数,s 是自午夜/2 以来的秒数。
编辑:
看看这个网页:http://www.codeproject.com/KB/dotnet/ManagingAssemblyVersions.aspx里面有很多信息:如何管理版本号。
【讨论】:
IIRC 在您的解决方案资源管理器中,单击“显示所有文件”,我相信它是该窗口顶部附近的第三个。
(双击)单击“我的项目”。
接下来,双击“AssemblyInfo.vb”
在代码编辑器中,向下滚动直到到达底部。
注释掉
替换
<Assembly: AssemblyVersion("1.0.0.0")>
与
<Assembly: AssemblyVersion("1.*.0")>
点击“保存”。
那么你就完成了!
【讨论】:
我使用这个MSBuild Task 自动增加我的内部版本号 - 需要在您的 *.csproj 或 *.vbproj 文件中进行一些手动修改,但它工作得非常完美,而且非常灵活。
【讨论】:
一个灵活的选择是使用版本编号方案创建 T4 模板并引用 Visual Studio 从中生成的 .cs 文件。此类模板的示例:
// // 此代码由工具生成。手动进行的任何更改都将丢失 // 下次重新生成此代码时。 //
使用 System.Reflection;
[程序集:AssemblyVersion("1.0.1.")] [程序集:AssemblyFileVersion("1.0.1.")]
在此示例中,修订号设置为自 2010 年 1 月 1 日以来的天数。但您可以提供任何自定义编号方案,因为它是纯 C#。
我写了一个blog post 更详细地解释了这种技术:
【讨论】: