例如,在构建发布版本后,我希望将其名称更改为(例如)MyApp-1.2.exe。在构建下一个版本之后,我希望该exe被命名为MyApp-1.3.exe。我仍然希望能够运行MyApp-1.2.exe。如何管理VS2010中的版本?
我宁愿不使用任何外部工具(我知道有nAnt和nMaven),并在VS.如果它不可能比我敢打赌nAnt对我来说是更好的选择。
例如,在构建发布版本后,我希望将其名称更改为(例如)MyApp-1.2.exe。在构建下一个版本之后,我希望该exe被命名为MyApp-1.3.exe。我仍然希望能够运行MyApp-1.2.exe。如何管理VS2010中的版本?
我宁愿不使用任何外部工具(我知道有nAnt和nMaven),并在VS.如果它不可能比我敢打赌nAnt对我来说是更好的选择。
您可以与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>
如果你真的想这样做在VS ,您可以(再次)使用后制作命令函数(从Project properties
- >Build Events
)执行此操作。
运行一个脚本或批处理文件,将文件copy
,然后重命名它。几年前我曾经基于当前日期(而不是版本)来做它(甚至不知道为什么)。
如果您可以创建批处理文件或脚本,您几乎可以在构建事件中执行任何操作。
使用构建系统是恕我直言,这种方法更可取。
你确定你不是在寻找源代码管理吗?因为你不仅想要运行旧版本 - 你会想看看旧的来源。 – 2011-02-12 21:29:42