如何在Visual Studio中自动创建生成备份

如果您是一个人的开发团队,您可能并不真正需要一个成熟的版本控制系统,但是为每个发布的版本创建源代码备份无疑是很重要的。

通过利用生成后事件和简单的批处理脚本的强大功能,您可以轻松地添加让Visual Studio自动为每个发布代码生成创建源代码备份的功能。

它是如何工作的

我们的解决方案很简单:每当成功的构建事件发生时,我们都会有一个批处理脚本运行,它会创建相应Visual Studio项目文件夹中所有文件的压缩存档(可选地添加标签和时间戳)。

就是这样。你所要做的就是遵循下面的步骤。

设置自动生成备份

首先,您需要从本文底部的链接下载并解压缩批处理脚本文件。此外,您还需要7-Zip命令行工具(此工具包含在“完整”版本的Project Build备份脚本中,也可以单独下载)。在我们的示例中,我们将这些文件解压缩到目录“C:\tools”,但是任何位置都可以。

双击相应项目下的“我的项目”,打开Visual Studio项目属性。

在项目属性中,转到编译部分。

在右下角,单击Build Events按钮。

在我们的示例中,我们希望在成功编译操作之后进行备份。确保您可以选择“在成功生成时”运行生成后事件,然后单击Edit Post-Build按钮。

下面的命令只为发布配置的编译创建构建备份(这是条件检查的结果),因为实际上,我们可能不想备份每个调试/测试构建。此外,将附加当前时间戳(/D开关),备份文件的格式为7z文件格式(/7z),而不是zip。通过添加/T“$(ConfigurationName)”作为参数,我们将构建类型(在本例中为Release)附加到备份文件的名称中。

使用“宏”按钮,您可以让Visual Studio预填入特定于项目的信息,因此不需要硬编码。您可以根据需要调整此命令(特别是批处理文件的位置),但前三个参数可能不需要更改。

重要的是要记住,无论选择什么项目配置,事后操作都会运行。这就是我们需要添加if“$(ConfigurationName)”==“Release”语句的原因-否则备份操作将在每个成功的构建事件中发生。

完成命令并应用后,命令字符串应出现在“生成后事件”部分中。

请注意,虽然“call”命令在技术上不是必需的,但强烈建议您使用此命令,因为如果省略了此命令,则在此之后添加的任何事件都可能不会执行。

现在,每当您在Release配置中对项目运行编译/构建时,您都会看到构建备份操作的输出。

[…]

每个成功的发布构建都会在子目录“builds”(如果需要,可以使用/O开关进行自定义)中的解决方案文件夹中创建一个新的带有时间戳的存档。

每个备份的内容都是完整的Visual Studio项目-源文件、配置设置、编译的二进制文件和全部-这使其成为真正的时间点备份。

不是完整版本控制系统的替代品

最后,我们只想重申,此工具并不打算取代成熟的版本控制系统。对于开发人员来说,它只是一个有用的工具,可以在每次编译后创建其项目源代码的快照。

如果您必须返回并检查以前的版本,拥有一个可随时使用(只需解压缩到新目录)的项目文件进行时间点编译可能真的会派上用场。

高尔夫球场 / 链接 / 沙地 / 沙丘

下载项目生成备份脚本

下载7-Zip命令行工具(注意-7za实用程序还捆绑了从项目构建备份脚本下载)

相关文章