如何在解决方案中构建多个项目之前执行流程

How to execute process before build multiple projects in a solution

我在 Windows 7 Ultimate x64 上使用 VS2010。 我想在一个解决方案中自动构建多个项目。

例如:) 解决方案 StormSolution 包含 4 个项目。

1 : Storm_Module1(输出文件扩展名:dll)

2 : Storm_Module2(输出文件扩展名:dll)

3 : CombineModule12 (输出文件扩展名: dat)

4:ConvertModule2CFGFile(输出文件扩展名:cfg)

步骤 1,2Storm_Module1Storm_Module2 的结果是标准 Windows DLL。

步骤 3 : CombineModule12 的结果是打开 Storm_Module1.dllStorm_Module2.dll 生成 "combined.dat" 文件,如 cmd.exe /c copy /b storm_module1.dll + storm_module2.dll combined.dat 命令。

步骤 3-1 : 然后,将 combined.dat 文件制作成 encrypted_combined.dat 文件 encryption_tool.

第 4 步 : 打开 "encrypted_combined.dat" 文件并将其制作成自己指定的 cfg 文件。

问题出现在第 4 步。我无法自动构建解决方案风暴。 因为我必须将 Step3"combined.dat" 结果变成 "encrypted_combined.dat" encryption_tool.

因此,如果我在没有任何操作的情况下构建 Storm 解决方案,ConvertModule2CFGFile 项目无法打开最新更新的 encrypted_combined.dat.

如何在Step4.

之前执行加密工具

加密工具可以带参数执行

例如:) cmd.exe /c "encryption tool.exe -mode_crypt combined.dat -output encrypted_combined.dat.

是否无法在构建项目之前执行进程?

考虑为 Visual Studio 命令提示符编写一个批处理文件 - 它将使您能够首先构建解决方案 1 和 2,然后您可以对您喜欢的文件执行任何操作并轻松调用您的加密工具,然后构建最后一个解决方案。

这个线程应该让你开始:

How to create a Batch File for Visual Studio Command Prompt

在Visual Studio中您可以创建Post-Build Events,它可以执行一个批处理文件。用它来组合你的两个 DLL。

要使您的项目以正确的顺序构建,请调整 Solution/Projects 中的 Build Dependencies and Build Order