(robotstudio从备份创建系统)如何在VisualStudio中自动创建生成备份

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

(robotstudio从备份创建系统)如何在VisualStudio中自动创建生成备份

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

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

它是如何工作的

我们的解决方案很简单:无论何时发生成功的构建事件,我们都有一个批处理脚本运行,它创建了一个压缩存档(可选标记和时间戳),该存档包含在各自的VisualStudio项目文件夹中的所有文件。

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

设置自动生成备份

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

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

(robotstudio从备份创建系统)如何在VisualStudio中自动创建生成备份

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

(robotstudio从备份创建系统)如何在VisualStudio中自动创建生成备份

在右下角,单击BuildEvents按钮。

(robotstudio从备份创建系统)如何在VisualStudio中自动创建生成备份

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

(robotstudio从备份创建系统)如何在VisualStudio中自动创建生成备份

下面的命令只为版本配置的编译创建一个构建备份(如果条件检查是这样的话),因为实际上,我们可能不希望对每个Debug/测试构建进行备份。此外,当前的时间戳将被追加(/D开关),备份文件采用7z文件格式(/7z),而不是zip。通过添加/T“$(ConfigurationName)”作为参数,我们将构建类型(在本例中为版本)附加到备份文件的名称中。

如果“$(ConfigurationName)”=“Relation”调用C:\tools\ProjectBuildBackup.bat“$(SolutionDir)”“$(ProjectDir)”“$(ProjectName)”/“T”$(ConfigurationName)“/D/7z”

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

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

(robotstudio从备份创建系统)如何在VisualStudio中自动创建生成备份

完成命令并应用它之后,命令字符串应该出现在构建后事件部分。

注意,虽然技术上不需要“调用”命令,但强烈建议这样做,就好像省略了这一点一样,在此之后添加的任何事件都可能不会执行。

(robotstudio从备份创建系统)如何在VisualStudio中自动创建生成备份

现在,每当您在发行版配置中使用项目运行编译/构建时,您将看到来自构建备份操作的输出。

(robotstudio从备份创建系统)如何在VisualStudio中自动创建生成备份

[…]

(robotstudio从备份创建系统)如何在VisualStudio中自动创建生成备份

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

(robotstudio从备份创建系统)如何在VisualStudio中自动创建生成备份

每个备份的内容都是完整的VisualStudio项目–源文件、配置设置、编译的二进制文件和所有–这使得这是一个真正的时间备份点。

(robotstudio从备份创建系统)如何在VisualStudio中自动创建生成备份

而不是替换全版本控制系统

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

如果您必须回过头来检查以前的版本,有一个随时可用的项目文件(只需提取到一个新的目录),在某个时间点编译就可以派上用场了。

版权声明:本文采用知识共享 署名4.0国际许可协议 [BY-NC-SA] 进行授权。
原文链接:https://www.701z.com/10782.html,转载请注明出处。
本站资源仅供个人学习交流,请于下载后24小时内删除,不允许用于商业用途,否则法律问题自行承担。
0

评论0

请先
显示验证码
没有账号?注册  忘记密码?