65.9K
CodeProject 正在变化。 阅读更多。
Home

Visual Studio 2005 中自动增加版本号

starIconstarIcon
emptyStarIcon
starIcon
emptyStarIconemptyStarIcon

2.25/5 (8投票s)

2006 年 4 月 19 日

CPOL

2分钟阅读

viewsIcon

84891

downloadIcon

481

演示如何在 Visual Studio 中利用 DTE 和宏的力量,创建一个构建号递增器。

引言

此宏将在每次开始构建时自动将项目的构建号递增 1。

背景

我对 Visual Studio 的一个长期不满是缺少一个选项,以便每次点击“构建”按钮时都递增构建号。当然,这并不是最优雅的解决方案,但总比没有好。当我最初构思这个项目时,我正在寻找一种方法来智能地检查是否需要递增,例如,在 C# 中,我点击“构建”按钮只是为了检查错误,所以我可能希望每次点击 F5 时都递增构建号。但是,使用 Visual Studio 提供的接口无法很好地做到这一点,所以我们只能自己创建一个。

使用代码

下载代码并解压缩。打开 Visual Studio,然后从“工具”菜单中选择“宏”->“宏 IDE”。在“宏项目资源管理器”中的“MyMacros”标题下,打开 EnvironmentEvents 并将函数从 Zip 文件中的相应文件复制过来。对 Zip 文件中的 Module1.vb 中的函数重复此操作。就这样,您的项目构建号现在将自动递增。代码注释非常详细,因此如果您有任何问题,注释肯定会解答它们。

关注点

一个有趣的注意事项,让我遇到了麻烦,VB 会插入一个注释,演示如何为 AssemblyVersion 属性设置通配符。由于注释出现在实际代码行之前,宏会先读取它,然后将无法找到 AssemblyFileVersion 属性并报错。我的解决方案是让宏检查此注释行,并在每次运行宏时将其删除。这是一种蛮力解决方案,但它解决了问题。

目前,除非您删除 EnvironmentEvents 中的事件处理程序,否则无法关闭此宏。

如果在构建号字段中包含通配符 (*),则在开始构建时它将自动替换为 1。

当前,该宏仅对 C# 和 Visual Basic 项目起作用,并忽略其他所有项目。但是,扩展该函数以包含您选择的语言将非常容易。

据我所知,C++ 在结构上与 .NET 非常不同,因此此递增器将无法用于纯 C++ 项目。

历史

  • 1.0 - 首次发布。
© . All rights reserved.