可以通过VS宏来编辑生成前、后事件命令行,来执行个性化编译操作。比如,对默认生成的应用程序文件,我们可以修改其名称、将其拷贝到其他位置等,以达到自动打包版本等目的。
VS官方帮助网站提供了详尽的的宏命令使用说明与参考,此处转载如下:
宏 | 说明 |
---|---|
$(ConfigurationName) | 当前项目配置的名称,例如,“调试”。 |
$(OutDir) | 相对于项目目录的输出文件目录的路径。 这解析为输出目录属性的值。 它包括尾随反斜杠“\”。 |
$(DevEnvDir) | Visual Studio 的安装目录(使用驱动器和路径进行定义);包括尾随反斜杠“\”。 |
$(PlatformName) | 当前目标平台的名称。 例如,“AnyCPU”。 |
$(ProjectDir) | 项目的目录(使用驱动器和路径进行定义);包括尾随反斜杠“\”。 |
$(ProjectPath) | 项目的绝对路径名称(使用驱动器、路径、基名称和文件扩展名进行定义)。 |
$(ProjectName) | 项目的基名称。 |
$(ProjectFileName) | 项目的文件名称(使用基名称和文件扩展名进行定义)。 |
$(ProjectExt) | 项目的文件扩展名。 文件扩展名之前包括“.”。 |
$(SolutionDir) | 解决方案的目录(使用驱动器和路径进行定义);包括尾随反斜杠“\”。 |
$(SolutionPath) | 解决方案的绝对路径(使用驱动器、路径、基名称和文件扩展名进行定义)。 |
$(SolutionName) | 解决方案的基名称。 |
$(SolutionFileName) | 解决方案的文件名称(使用基名称和文件扩展名进行定义)。 |
$(SolutionExt) | 解决方案的文件扩展名。 文件扩展名之前包括“.”。 |
$(TargetDir) | 生成的主输出文件的目录(使用驱动器和路径进行定义)。 它包括尾随反斜杠“\”。 |
$(TargetPath) | 生成的主输出文件的绝对路径名称(使用驱动器、路径、基名称和文件扩展名进行定义)。 |
$(TargetName) | 生成的主输出文件的基名称。 |
$(TargetFileName) | 生成的主输出文件的文件名称(使用基名称和文件扩展名进行定义)。 |
$(TargetExt) | 生成的主输出文件的文件扩展名。 文件扩展名之前包括“.”。 |
原链接:
预生成事件/生成后事件命令行对话框 - Visual Studio | Microsoft Docs
比如,某项目中,我们希望将默认生成的*.exe文件及其配置*.config文件拷贝一份,并修改名称(添加"Net"后缀。如,原exe与config文件分别名为:MyApp.exe、MyApp.config,则拷贝之后的名称为:MyAppNet.exe、MyAppNet.config),其示例代码为:
copy $(TargetPath) $(TargetDir)$(TargetName)Net$(TargetExt)
copy $(TargetPath).config $(TargetDir)$(TargetName)Net$(TargetExt).config
如图: