PDA

View Full Version : سوال: فرق assembly version و file version



zahra111
شنبه 22 فروردین 1388, 18:59 عصر
سلام. می خواستم بدونم فرق assembly version و file version در پنجره assembly information چیه؟

afsharm
یک شنبه 23 فروردین 1388, 07:48 صبح
این سوال من هم هست.

Mehdi Asgari
یک شنبه 23 فروردین 1388, 13:41 عصر
فرض کنیم فایل تو به این شکله:


[assembly: AssemblyVersion("1.1.0.0")]
[assembly: AssemblyFileVersion("1.1.0.45")]

AssemblyVersion ، نسخه ی فایل تو (exe یا dll) هست که بقیه ی برنامه ها می بینن (با ILDasm فایلت رو باز کن و ببین که نسخۀ اسمبلیت 1.1.0.0 هست. همینطور اگه با کد ، این فایل رو load کنی ، باز هم این عدد رو خواهی دید)


Assembly asml = Assembly.LoadFile(@"I:\XZ.exe");
Console.WriteLine(asml.FullName);

AssemblyFileVersion نسخه ای هست که برای توزیع برنامه ات به مشتری ها به کار میره (یعنی اگه من روی برنامۀ فوق راست کلیک کرده و Properties رو بزنم ، در تب Details عدد 1.1.0.45 رو خواهم دید.)
(مثلا میتونی هر وقت که برنامه ات رو build کردی یه عدد به این اضافه کنی ، اما هر وقت واقعا تغییری در برنامه ات رخ داد و خواستی که ورژن اسمبلیت رو یکی اضافه کنی ، باید AssemblyVersion رو اضافه کنی)

AssemblyFileVersion زیاد مهم نیست و میتونی حذفش کنی ، چون برنامه های دیگه به AssemblyVersion متکی هستن
خیلی راحت بخوام بگم: AssemblyFileVersion برای انسان هاست و AssemblyVersion برای کامپیوتر