VS開發中自動版本號的設定 SubWCRev命令

2021-08-26 12:02:18 字數 1937 閱讀 9002

subwcrev這個命令是tortoisesvn\bin下的命令;

所以前提是你的開發機需要確認安裝了svn的客戶端,並且你本機的**是svn上down下來的,也就是**需要是乙個working copy;

下面說一下如何使用:

1. 假如你的工程內有乙個version.h的標頭檔案,如下:

#ifndef version_h_#define version_h_#define version_str "1.2872"#define version_num 1,2872#if 1

#pragma message("warning: local modification found ,please make sure source is updated,when bulid release package")

#endif

#endif

標頭檔案內version_strversion_num兩個巨集是工程需要使用的版本號,我們需要讓第2位,也就是2872這個數字變化,每次獲取svn上最新的revision;

2. 準備乙個version.temp.h的標頭檔案(檔名、路徑可以自由),內容如下:

#ifndef version_h_#define version_h_#define version_str "1.$wcrev$"#define version_num 1,$wcrev$#if $wcmods?1:0$

#pragma message("warning: local modification found ,please make sure source is updated,when bulid release package")

#endif

#endif

和version.h對比一下,我們可以看到我們想要變化的小版本號位置,使用了變數代替,變數含義可以參考下表;

3. 然後開始使用subwcrev.exe此命令,格式如下,

subwcrev workingcopypath [srcversionfile dstversionfile] [-nmdfe]

按照我個人的習慣,寫乙個批處理autoversion.bat

echo onsubwcrev.exe ./ "version/version.temp.h" "version.h"version.temp.h此檔案我放在了工程目錄下的version路徑下,subwcrev會獲取svn的工程提交版本號,替換此檔案內的變數;然後使用temp檔案替換工程使用檔案version.h

4. vs  工程右鍵-屬性

預編譯事件中,將命令列新增上此bat的名字;(也可以在這直接寫subwcrev.exe ./ "version/version.temp.h" "version.h"

設定ok,可以使用了;

VS2017程式集版本號自動增加

一 修改程式集檔案assemblyinfo.cs,將 assembly assemblyversion 1.0.0.0 修改為 assembly assemblyversion 1.0.修改後報如下錯誤 將文字表示為utf 16 單元的序列。要瀏覽此型別的.net framework源 請參閱參考源...

自動更改發布的版本號

這個是一同事發現的。使用方法介紹如下 該版本修改了 1.報錯的時候不增加版本。2.統計編譯耗時。3.未設定增加版本的工程不報錯。4.提示資訊會在output視窗顯示 會增加乙個macro選項 全域性設定 修改環境的tools customize add ins and macro files bro...

Vsiual Studio自動生成版本號的一種方法

1 安裝nuget包msbuildtasks 2 編輯專案的csproj檔案,找到被注釋掉的target的beforebuild,去掉注釋,新增如下 如下。3 編譯專案一次就會在專案資料夾下生成 propertiesversion.txt 4 在assemblyinfo.cs檔案中包含了assemb...