تور لحظه آخری
امروز : یکشنبه ، 4 آذر 1403    احادیث و روایات:  پیامبر اکرم (ص):مؤمن شوخ و شنگ است و منافق اخمو و عصبانى.
سرگرمی سبک زندگی سینما و تلویزیون فرهنگ و هنر پزشکی و سلامت اجتماع و خانواده تصویری دین و اندیشه ورزش اقتصادی سیاسی حوادث علم و فناوری سایتهای دانلود گوناگون شرکت ها

تبلیغات

تبلیغات متنی

صرافی ارکی چنج

صرافی rkchange

سایبان ماشین

دزدگیر منزل

تشریفات روناک

اجاره سند در شیراز

قیمت فنس

armanekasbokar

armanetejarat

صندوق تضمین

Future Innovate Tech

پی جو مشاغل برتر شیراز

لوله بازکنی تهران

آراد برندینگ

خرید یخچال خارجی

موسسه خیریه

واردات از چین

حمية السكري النوع الثاني

ناب مووی

دانلود فیلم

بانک کتاب

دریافت دیه موتورسیکلت از بیمه

طراحی سایت تهران سایت

irspeedy

درج اگهی ویژه

تعمیرات مک بوک

دانلود فیلم هندی

قیمت فرش

درب فریم لس

زانوبند زاپیامکس

روغن بهران بردبار ۳۲۰

قیمت سرور اچ پی

خرید بلیط هواپیما

بلیط اتوبوس پایانه

قیمت سرور dl380 g10

تعمیرات پکیج کرج

لیست قیمت گوشی شیائومی

خرید فالوور

بهترین وکیل کرج

بهترین وکیل تهران

خرید اکانت تریدینگ ویو

خرید از چین

خرید از چین

تجهیزات کافی شاپ

بی متال زیمنس

ساختمان پزشکان

ویزای چک

محصولات فوراور

خرید سرور اچ پی ماهان شبکه

دوربین سیمکارتی چرخشی

همکاری آی نو و گزینه دو

کاشت ابرو طبیعی و‌ سریع

الک آزمایشگاهی

الک آزمایشگاهی

خرید سرور مجازی

قیمت بالابر هیدرولیکی

قیمت بالابر هیدرولیکی

قیمت بالابر هیدرولیکی

لوله و اتصالات آذین

قرص گلوریا

نمایندگی دوو در کرج

خرید نهال سیب

وکیل ایرانی در استانبول

وکیل ایرانی در استانبول

وکیل ایرانی در استانبول

 






آمار وبسایت

 تعداد کل بازدیدها : 1833349043




هواشناسی

نرخ طلا سکه و  ارز

قیمت خودرو

فال حافظ

تعبیر خواب

فال انبیاء

متن قرآن



اضافه به علاقمنديها ارسال اين مطلب به دوستان آرشيو تمام مطالب
archive  refresh

چگونه تغییر ورژن فایل بدون استفاده از vs.net


واضح آرشیو وب فارسی:سایت ریسک: BILLY_Mgs30-11-2009, 12:38 PMسلام من اخیرا یه برنامه برای آپدیت ه برنامه هایم ساخته بودم که این برنامه با توجه به ورژن ه فایل .exe یه برنامه و بالاترین ورژن موجود توی سرور برنامه را آپدیت میکرد . حالا مشکل اینجاست وقتی من میخوام که فقط 1کی از فایل هایه .dll آپدیت شه (که میشه*) و فایل .exe که حجمش هم زیاده آپدیت نشه بعد از اینکه چنین کاری کردم که فقط .dll آپدیت شه ورژن برنامه را که از .exe میگیره همون قبلی میمونه و اگر user دباره روی auto update کلیک کنه دوباره همین فایل .dll آپدیت میشه :41: من باید بعد از آپدیت شدن ه فایل dll ورژن ه برنامه(.exe) رو هم عوض کنم سوال اینجاست ! چگونه بدونه استفاده از vs.net ورژن ه برنامه رو عوض کنم ؟! اسلا چنین چیزی امکان داره ؟ اگه نه پیشنهاد و روشه دیگهای برای اینکار دارید ؟ مرسی:11: _H2_01-12-2009, 12:03 PMسلام عمل شما در راستای تغییر ورژن dll مرجع شده داخل exe اصلاً صحیح نیست. یا باید exe را مجدد و با Reference جدید کامپایل کنید و یا به جای AssemblyVersion از AssemblyFileVersion در پروزه dll استفاده کنید. وقتی یک dll را در پپروژه دیگرتان Reference میکنید تمام مشخصات اصلی ان از جمله همین AssemblyVersion در داخل پروژه استفاده کننده ثبت میشود تا در زمان اجرا بتواند dll مناسب و مچ با خودش را پیدا کند. ولی اگر شما نسخه جدیدی از dll تان کامپایل میکنید که توابع و کلاسهای Public قبلی را در ان حذف یا تغییر نام و پارامتر و... نداده اید و مطمئن هستید که هر برنامه ای که با dll قدیمی کار میکرده، صد در صد میتواند با dll جدید هم کار کند، آنگاه میتوانید به جای افزایش AssemblyVersion به نسخه بالاتر از AssemblyFileVersion استفاده کنید. طبیعتاً در کدهای Replace نسخه قبلی با جدید dll هم اول باید AssemblyVersion را چک کنید و مطمئن شوید AssemblyVersion نسخه قبلی با نسخه جدید یکی و برابر باشد (تا برنامه exe و سایر dll ها به مشکل برنخورند) سپس AssemblyFileVersion را چک کنید و با بالاترین AssemblyFileVersion عملتان را انجام دهید. موفق باشید. BILLY_Mgs01-12-2009, 01:20 PMسلام من تو آپدیت ه dll ها اسمبلی و ورژن رو تغییر نمیدم و فقط کد ها و باگ هارو برطرف میکنم آخه حجم فایل .exe زیاده و خیلی بد میشه که برای تغییر 1 خط تو برنامه دوباره user این همه فایل دانلود کنه ! من برای آپدیت کردن ه dll ها مشکلی ندارم مشکلم اینه که اگه بخوام ورژن ه برنامه رو چک کنم تا با بالاترین ورژن تو سرور مقایسه کنم باید همه AssemblyFileVersion ی همه ی فایل های dll و exe رو چک کنم و این کار رو سنگین میکنه . . . من باید چکار کنم ؟؟! _H2_01-12-2009, 02:53 PMسلام سلام من تو آپدیت ه dll ها اسمبلی و ورژن رو تغییر نمیدم !!! اگر واقعاً تغییری نکند نباید هیچ مشکلی داشته باشید و البته نباید هم بتوانید نسخه جدید را متوجه شوید. اینکه اصلاً منطقی نیست!!!! یک روال استاندارد میتواند چنین باشد: - شما هر تغییر غیر ساختاری که میدهید باید AssemblyFileVersion پروزه تان را افزایش دهید. - سپس پروژه را کامپایل کرده و فایل را آپلود میکنید. - باید مکانیزمی (یک صفحه ساده aspx یا یک وب سرویس) در سایت داشته باشید که نام dll یا exe را بگیرید (و احتمالاً AssemblyVersion را هم بگیرید) و در جواب مقدار عددی اخرین AssemblyFileVersion موجود در سایت را پس بدهد. ( یا حتی یک فایل XML کوچک داشته باشید که حاوی لیست نام فایلها و آخرین AssemblyFileVersion های موجود باشد. که بدون aspx یا وب سرویس، کلاینت خودش این XML کوچک را دانلود کند و از آخرین AssemblyFileVersion ها مطلع شود. ) - کلاینت شما باید اطلاعات dll و exe (هر چه میخواهید) را برای سایت بفرستد و این اخرین AssemblyFileVersion ها را بگیرد. ( این ارسال و دریافت ها معمولاً حجم بسیار بسیار پایینی دارد، چون فقط یک سری عدد جابجا میشود و شاید بتوانید کدی بنویسید که کل کار را در حد آپلود+دانلود 2 یا 3 کیلوبایت انجام دهد (و حتی کمتر!) که برای درپیت ترین اینترنتها هم حجمی نیست ) - سپس کلاینت این AssemblyFileVersion را با AssemblyFileVersion های خودش مقایسه میکند و هر کدام که نسخه ای جدید دارد را عملاً شروع و به دانلود و تعویض میکند. ( عملاً یکبار آپدیت برای هر نسخه جدید کافی است و اصلاً امکان آپدیت مدام وجود نخواهد داشت ) خیلی روند روتین و مشخصی دارد. حالا مشکل شما با پیاده سازی کدام از این بخش ها است؟ BILLY_Mgs01-12-2009, 10:13 PMسلام ، حرف شما کاملا صحیحه تو اجرای فایل Dll هیچ مشکلی پیش نمیاد ولی من از ورژن واقعی اون با هبر نمیشم به خاطر همین ورژن آخرین کد نویسی توی فایل هارو توی 1 فایل دیگه به صورت استرینگ قرار میدم و برای خوندن ورژن فایل ها اون فایل رو میخونم اینجوری خوبه ؟ _H2_02-12-2009, 01:47 PMسلام تو اجرای فایل Dll هیچ مشکلی پیش نمیاد ولی من از ورژن واقعی اون با هبر نمیشم به خاطر همین ورژن آخرین کد نویسی توی فایل هارو توی 1 فایل دیگه به صورت استرینگ قرار میدم و برای خوندن ورژن فایل ها اون فایل رو میخونم اینجوری خوبه ؟ خوب است. چون شاید برای بهینه سازی فضا و کاهش حجم و افزایش سرعت دانلود فایلها در سرور فشرده (gzip و cab و zip) و... شده باشند داشتن یک بانک اطلاعاتی و لیستی از نسخه ها بد نیست. (ولی میتوانید در سرور هم نسخه (ورژن) فایلها را استخراج کنید و فقط باید یک صفحه aspx یا Ashx ساده داشته باشید.) راهتان خوب است و من فقط برای تکمیل توضیحی دیگر روی راه کارهای مناسب شبیه این مطلبتان بیان خواهم کرد ===== داشتن یک لیست "فایل+نسخه" در سرور میتوانید مفید و پرسرعت باشد. حال این لیست شما میتواند در بانک SQLServer و یا Access و یا XML باشد. اگر قرار است ساده و متنی باشد، بهتر است فرمت XML داشته باشد که قانونمند تر و حرفه ای تر است، مثلاً چیزی شبیه این: !!!! برای مشاهده محتوا ، لطفا ثبت نام کنید / وارد شوید !!!! میتوانید یک وب سرویس یا حتی یک aspx یا ashx ساده هم داشته باشد که مثلاً با شکل site.com/upgradecheck.ashx?file=filename.dll بتوان از کلاینت اسم یک فایل را به ان داد و این صفحه خودش بانک SQLServer یا Access یا XML را بخواند و آخرین نسخه(ورژن) موجود را گزارش دهد. کلاینت نسخه(ورژن) هر فایل را با این صفحه چک میکند و سپس در صورت نیاز دانلود میکند. ===== حالت دیگری هم میتوانید داشته باشید که لیستتان منسجم و یکپارچه نباشد و به ازای هر فایل filename.dll یک فایل filename.dll.xml متنی هم داشته باشید که مشخصات همان تک واحد فایل را داشته باشید. کلاینت قبل از دانلود فایلها اول فایلهای کوچک (زیر یک کیلوبایت) filename.dll.xml یا filename.exe.xml را دانلود میکند و فقط در صورت نیاز فایل اصلی را دانلود میکند. این xml ساده غیر لیستی میتواند فرمت ساده اینچنینی داشته باشد. !!!! برای مشاهده محتوا ، لطفا ثبت نام کنید / وارد شوید !!!! ============== البته خودتان بهتر میدانید که کلاینت باید بداند فایلی که الآن دارد چه ورژنی دارد تا بتواند آن را با نسخه سرور مقایسه کند. که برای اینکار بهتر است حتماً با دادن نسخه جدید AssemblyFileVersion را دستی تغییر دهید و بعد کامپایل کنید تا کلاینت با خواندن AssemblyFileVersion فایلهایش بتواند وجود نسخه(ورژن) فعلی را تشخیص داده و وجود نسخه(ورژن) جدید آنها را بررسی کند. برای خواندن مقدار AssemblyFileVersion هم در برنامه تان میتوانید از دستور زیر استفاده کنید: System.Diagnostics.FileVersionInfo.GetVersionInfo (حتماً اینکار را حداقل در کلاینت انجام دهید و این عدد را با عدد اخرین ورژن سرور مقایسه کنید تا مشکل آپدیت مدام نداشته باشید و هر آپدیت نسخه(ورژن) فقط یکبار انجام شود.) موفق باشید. سایت ما را در گوگل محبوب کنید با کلیک روی دکمه ای که در سمت چپ این منو با عنوان +1 قرار داده شده شما به این سایت مهر تأیید میزنید و به دوستانتان در صفحه جستجوی گوگل دیدن این سایت را پیشنهاد میکنید که این امر خود باعث افزایش رتبه سایت در گوگل میشود




این صفحه را در گوگل محبوب کنید

[ارسال شده از: سایت ریسک]
[مشاهده در: www.ri3k.eu]
[تعداد بازديد از اين مطلب: 515]

bt

اضافه شدن مطلب/حذف مطلب




-


گوناگون

پربازدیدترینها
طراحی وب>


صفحه اول | تمام مطالب | RSS | ارتباط با ما
1390© تمامی حقوق این سایت متعلق به سایت واضح می باشد.
این سایت در ستاد ساماندهی وزارت فرهنگ و ارشاد اسلامی ثبت شده است و پیرو قوانین جمهوری اسلامی ایران می باشد. لطفا در صورت برخورد با مطالب و صفحات خلاف قوانین در سایت آن را به ما اطلاع دهید
پایگاه خبری واضح کاری از شرکت طراحی سایت اینتن