2011-02-12 61 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,然後重命名它。幾年前我曾經基於當前日期(而不是版本)來做它(甚至不知道爲什麼)。

如果您可以創建批處理文件或腳本,您幾乎可以在構建事件中執行任何操作。

使用構建系統是恕我直言,這種方法更可取。