1. 程式人生 > >Vsiual Studio自動生成版本號的一種方法

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

1、安裝nuget包MSBuildTasks

2、編輯專案的csproj檔案,找到被註釋掉的target的beforebuild,去掉註釋,新增如下程式碼。程式碼如下。

<Target Name="BeforeBuild">
    <Version VersionFile="Propertiesversion.txt" Major="1" Minor="0" BuildType="Automatic" StartDate="09/01/2017" RevisionType="BuildIncrement">
      <Output TaskParameter="Major" PropertyName="Major" />
      <Output TaskParameter="Minor" PropertyName="Minor" />
      <Output TaskParameter="Build" PropertyName="Build" />
      <Output TaskParameter="Revision" PropertyName="Revision" />
    </Version>
    <AssemblyInfo CodeLanguage="CS" OutputFile="Properties\FileVersionInfo.cs" AssemblyFileVersion="$(Major).$(Minor).$(Build).$(Revision)" />
  </Target>
      
3、編譯專案一次就會在專案資料夾下生成Propertiesversion.txt

4、在AssemblyInfo.cs檔案中包含了AssemblyVersion和AssemblyFileVersion,這裡把AssemblyFileVersion單獨放到了FileVersionInfo.cs中,編譯時會自動生成FileVersionInfo.cs檔案,其內容為AssemblyFileVersion,把該檔案包含到專案中即可。這裡並沒有讓程式自動生成AssemblyVersion。

這種方式生成版本號會在vs編譯時更新版本號。

相關推薦

Vsiual Studio自動生成版本方法

1、安裝nuget包MSBuildTasks 2、編輯專案的csproj檔案,找到被註釋掉的target的beforebuild,去掉註釋,新增如下程式碼。程式碼如下。 <Target Name="BeforeBuild"> <Version V

VS之版本-獲取編譯時間-用於自動生成版本

我們寫軟體的,總希望程式有變動時可以自動生成版本號,不用手動去改,這樣多方便啊。VS編譯器就可實現這個功能。如下所示: /*  獲取程式編譯時間, 用於自動生成版本號很好   __DATE__ "Mar 25 2013"            "Mar  

C# VS2008, VS2010 .NET 使用 SVN 的自動生成版本

步驟/方法 編寫一個模板檔案,比如取名為 version_template.h,內容如下 #ifndef _VERSION_H_ #define _VERSION_H_ #define VER_MAJOR 1 #define VER_MINOR 0 #define VER_REVISION $WCREV

Jenkins持續部署-自動生成版本

目錄 Jenkins持續部署-自動生成版本號 目錄 前言 目的 詳細流程 獲取SVN Reversion 獲取需求號 設定編譯前讀取版本號

ASP資訊頁面自動生成HTML的兩方法

1)目前已經有很多生成html的新聞系統,但是都是用的模板,本函式實現把asp頁面產生的html程式碼儲存成為一個html檔案,這樣就沒有必要改動原來的頁面就可以輕鬆完成一個生成html的新聞系統了 <% ''當目標頁面的包含檔案即#incl

Android Studio生成APK自動追加版本

android.applicationVariants.all { variant -> variant.outputs.each { output -> output.outputFile = new File(outp

Maven生成WAR包時自動更新版本version

Maven外掛之buildnumber-maven-plugin 某些情況下(這種情況一般很少見),使用maven構建專案時,需要一個不重複的序列號,比如說,打包時,包名稱以當前構建時間結尾,或者每次生成的jar包中包含唯一的序列號,等等; 這個時候,就用到了buil

VS之版本-編譯時自動生成版本-自動獲取svn版本

原理 SVN中的可執行檔案SubWCRev.exe,該檔案可以檢視工作目錄的當前svn號並且儲存在變數$WCREV$中。因此,可以先寫一個批處理,然後在專案的預生成命令中執行該批處理檔案。 VS編譯時自動化生成版本示例: 在需要新增版本的工程目錄下新建資料夾(以

jenkins插件之如何優雅的生成版本

第一個 color 並且 pos ima img 編譯 功能 有一個 一、簡介 在持續集成中,版本管理是非常重要的一部分,本章將介紹如何Version Number Plug插件生成優雅的版本號。 二、安裝 系統管理--》插件管理 搜索 Vers

【Android Studio安裝部署系列】二十二、Android studio自動生成set、get方法

setter 自動生成 全選 style 原創文章 back .com 安裝部署 dash 版權聲明:本文為博主原創文章,未經博主允許不得轉載。 操作步驟 將光標放置我們所要生成get,set方法的實體類空白處——然後右鍵—&mdas

在條碼標簽打印軟件上繪制條形碼並自動生成序列

目標 自己 AR 序列號 彈出 手動 打開 圖片 term 在做條碼標簽的時候,輸入序列號很簡單,如果只有五六個,手工輸入就可以的,可是如果有100個,1000個,甚至10000個序列號的時候,我們該怎麽辦呢?今天就來分享下在條碼標簽打印軟件上制作條形碼序列號的方法,具體操

vs .net專案自動更新版本

使用SVN的一個程式, 一般都會裝,無需再次下載和安裝了. 只需要在專案屬性-> 生成事件-> 後期生成事件命令 中加入 subwcrev.exe $(ProjectDir)Properties\ $(ProjectDir)Properties\AssemblyInfo.

Unity3d 讀取配置文字自動生成C#類 ()

前幾天做了一個可以通過讀取配置文字自動生成C#類的工程,因此想寫下來分享給大家順便給自己加深一點印象。 首先是獲取到配置檔案的文字路徑,這裡就不多做介紹了,不瞭解的可以查閱Unity3d實現開啟視窗選擇檔案獲取路徑 獲取到路徑後 開始準備讀寫檔案,讀寫檔案的方法也有很多

WPF程式設計,C#中對話方塊自動關閉的方法

MessageBoxTimeout是一個微軟未公開的Windows API函式。實現定時訊息,功能類似於MessageBox。如果使用者不迴應,能定時關閉訊息框。函式由user32.dll匯出,windows2000及以下沒有此函式。    原型: int Mes

VS:編譯dll時,自動生成版本

步驟 1. 在解決方案中--》現有項xxx.rc檔案--》雙擊xxx.rc檔案開啟資源檢視--》選中xxx.rc有右鍵“新增資源”--》選擇Version                 

Spring Boot教你方法生成全域性唯一ID

一、概述 流水號生成器(全域性唯一 ID生成器)是服務化系統的基礎設施,其在保障系統的正確執行和高可用方面發揮著重要作用。而關於流水號生成演算法首屈一指的當屬 Snowflake雪花演算法,然而 Snowflake本身很難在現實專案中直接使用,因此實際應用時需要一種可落地的方案。 UidGe

mybatis 自動生成DB程式碼場之 Failed to retrieve plugin descriptor for org.mybatis.generator:mybatis-generator

1.異常描述 使用mybatis自動生成DB程式碼的時候報下面的異常 [WARNING] [WARNING] Some problems were encountered while building the effective settings [WARNI

Gradle自動設定版本及修改apk字尾

直接上配置檔案 import java.text.SimpleDateFormat apply plugin: 'com.android.application' def verName = "1.0.0" def buildTime() {

C# dgv新增行方法

 //新增行號另一個方法         //private void dgvStudentList_RowStateChanged(object sender, DataGridViewRowSta

關於如何在make一個Linux下的C/C++工程時,自動新增版本、編譯日期等資訊

本篇的目的:在makefile裡,將系統當前的時間傳遞進待編譯的C/C++工程中,用以指示編譯執行的時間,以及版本資訊等。 不多說了,先來看效果: 當前時間:2017.01.20  0:29 編譯完成後執行效果: [email protected]:~/Desk