Visual Studio項目的生成事件代碼

咱們打開vs的項目屬性能夠看到有生成事件,以下圖:spa

能夠看到有兩塊空白區域,這個空白區域能夠讓咱們寫代碼或腳原本處理編譯生成先後的時候,處理一些事情,今天就簡單的來講說這兩塊。命令行

生成前事件命令行code

我想能夠在這裏動態生成程序的版本號,將時間增量(DateTime)信息添加到AssemblyFileVersion屬性中,該屬性具備不破壞任何依賴性的優勢。blog

你能夠使用預生成事件生成文件,那是在項目的預生成,事件中:事件

echo [assembly:System.Reflection.AssemblyFileVersion("%date:~0,4%.%date:~5,2%%date:~8,2%.%time:~0,2%%time:~3,2%.%time:~6,2%")] > $(ProjectDir)Properties\VersionInfo.cs


將生成的VersionInfo.cs文件(Properties子文件夾)包含到項目中,而且AssemblyInfo.cs文件中的AssemblyFileVersion代碼註釋掉,每次編譯的時候就是當前時間做爲版本號了。get

 

後期生成事件命令行io

我想讓程序生成的類庫輸出到指定的目錄下,方便供其餘程序引用和訪問,保證其餘程序引用到的都是最新的類庫程序。編譯

set outPath=$(SolutionDir)$(ProjectName).Output
if exist  "%outPath%" rd /s /q "%outPath%"
md "%outPath%"
copy $(TargetDir) "%outPath%"

以上代碼直接在項目的同級目錄生成以項目名+.Output的文件夾,並把bin中的dll複製到裏面。class

好了,試試吧,看看是否有版本號和輸出到指定目錄下?date

相關文章
相關標籤/搜索