例如,在我构建Release版本之后,我希望将其名称更改为(例如) MyApp-1.2.exe 。在构建下一个版本后,我希望将exe命名为 MyApp-1.3.exe 。我仍然希望能够运行 MyApp-1.2.exe 。
我宁愿不使用任何外部工具(我知道有nAnt和nMaven)并在VS中执行。如果它不可能比我打赌nAnt对我来说是更好的选择。
答案 0 :(得分:4)
您也可以在GetAssemblyIdentity任务的帮助下通过MSBuild执行此操作:
<GetAssemblyIdentity
AssemblyFiles="$(MSBuildProjectDirectory)\src\MyApp\bin\MyApp.exe">
<Output
TaskParameter="Assemblies"
ItemName="AssemblyIdentities"/>
</GetAssemblyIdentity>
然后重命名.exe文件:
<Copy
SourceFiles="$(MSBuildProjectDirectory)\src\MyApp\bin\MyApp.exe"
DestinationFiles="$(MSBuildProjectDirectory)\src\MyApp\bin\MyApp-(AssemblyIdentities.Version).exe"></Copy>
<Delete
Files="$(MSBuildProjectDirectory)\src\MyApp\bin\MyApp.exe"></Delete>
答案 1 :(得分:2)
如果您真的想在VS中执行此操作,则可以(再次)使用构建后命令功能(来自Project properties
- &gt; Build Events
)执行此操作
运行将copy
文件的脚本或批处理文件,然后重命名该文件。我曾经在几年前根据当前日期(不是版本)做到这一点(甚至不确定为什么)。
如果您可以创建批处理文件或脚本,则可以在构建事件中执行几乎任何操作。
使用构建系统是恕我直言,而不是这种方法。