2011-02-12 67 views
3

例如,在构建发布版本后,我希望将其名称更改为(例如)MyApp-1.2.exe。在构建下一个版本之后,我希望该exe被命名为MyApp-1.3.exe。我仍然希望能够运行MyApp-1.2.exe如何管理VS2010中的版本?

我宁愿不使用任何外部工具(我知道有nAnt和nMaven),并在VS.如果它不可能比我敢打赌nAnt对我来说是更好的选择。

+0

你确定你不是在寻找源代码管理吗?因为你不仅想要运行旧版本 - 你会想看看旧的来源。 – 2011-02-12 21:29:42

回答

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> 
2

如果你真的想这样做在VS ,您可以(再次)使用后制作命令函数(从Project properties - >Build Events)执行此操作。

运行一个脚本或批处理文件,将文件copy,然后重命名它。几年前我曾经基于当前日期(而不是版本)来做它(甚至不知道为什么)。

如果您可以创建批处理文件或脚本,您几乎可以在构建事件中执行任何操作。

使用构建系统是恕我直言,这种方法更可取。