//通常我們做軟體自動更新,需要比較新檔案與舊檔案的版本號,如果新檔案的版本號比舊檔案高,就替換舊檔案。
//(版本號一般是在visual studio的程式資訊裡定義)如果使用以下的方法:
using system.reflection;
using system.io;
...assembly currentassembly = assembly.loadfile(currentassemblypath);
assembly updatedassembly = assembly.loadfile(updatedassemblypath);
assemblyname currentassemblyname = currentassembly.getname();
assemblyname updatedassemblyname = updatedassembly.getname();
// 比較版本號
if (updatedassemblyname.version.compareto(currentassemblyname.version) <= 0)
// 更新
file.copy(updatedassemblypath, currentassemblypath, true);
//舊版本被載入了,下面的file.copy就無法替換舊檔案。
//不用載入exe就可以判斷該exe版本的方法如下:
using system.reflection;
using system.io;
...assemblyname currentassemblyname = assemblyname.getassemblyname(currentassemblypath);
assemblyname updatedassemblyname = assemblyname.getassemblyname(updatedassemblypath);
// 比較版本
if (updatedassemblyname.version.compareto(currentassemblyname.version) <= 0)
// 更新
file.copy(updatedassemblypath, currentassemblypath, true);
版本號簡述
版本號簡介 版本號一般分為major 主版本號 minor 次版本號 revision incremental 修正版本號 一般格式為major.minor.revison 如何界定軟體什麼時候該用什麼樣的版本號呢?1 專案初版本時 版本號可以為 0.1 或 0.1.0,也可以為 1.0 或 1.0...
比較版本號
題目 比較兩個版本號 version1 和 version2。如果 version1 version2 返回 1,如果 version1 version2 返回 1,除此之外返回 0。你可以假設版本字串非空,並且只包含數字和 字元。字元不代表小數點,而是用於分隔數字序列。例如,2.5 不是 兩個半 ...
版本號排序
需求 對 4.3.17 4.3.16 4.3.9 排序 分析,版本號雖然都是數字,但是不能按照字元的順序排列,因為公升序的話,4.3.16 會排在 4.3.9 的前面,但實際上應該排在後面,所以我們需要做乙個轉化,就是將這些數字轉成乙個可以排序的東西,再做排序就沒有問題了。我這裡是將他們的值換算成了...