程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> .NET網頁編程 >> C# >> C#入門知識 >> C#讀取exe版本號

C#讀取exe版本號

編輯:C#入門知識

通常我們做軟件自動更新,需要比較新文件與舊文件的版本號,如果新文件的版本號比舊文件高,就替換舊文件。(版本號一般是在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)
{
    // 不需要更新
    return;
}


// 更新
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)
{
    // 不需要更新
    return;
}

// 更新
File.Copy(updatedAssemblyPath, currentAssemblyPath, true);

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved