หากด้วยเหตุผลบางประการคุณไม่ได้รับอนุญาตให้ใช้วิธีการเปรียบเทียบของเวอร์ชันโดยตรง (เช่นในสถานการณ์ไคลเอนต์เซิร์ฟเวอร์) อีกวิธีหนึ่งคือการดึงหมายเลขที่ยาวออกจากเวอร์ชันจากนั้นจึงเปรียบเทียบตัวเลขซึ่งกันและกัน อย่างไรก็ตามตัวเลขต้องมีรูปแบบดังต่อไปนี้: ตัวเลขสองหลักสำหรับ Major, Minor และ Revision และสี่สำหรับ Build
วิธีแยกหมายเลขเวอร์ชัน:
var version = Assembly.GetExecutingAssembly().GetName().Version;
long newVersion = version.Major * 1000000000L +
version.Minor * 1000000L +
version.Build * 1000L +
version.Revision;
จากนั้นที่อื่นคุณสามารถเปรียบเทียบได้:
if(newVersion > installedVersion)
{
//update code
}
หมายเหตุ: installedVersion เป็นตัวเลขแบบยาวที่แยกไว้ก่อนหน้านี้