PDA

View Full Version : تغییر نام یک DLL



saeid_ica
دوشنبه 20 آذر 1391, 18:40 عصر
سلام. من از کامپوننت mcorelib توی یه پروژه استفاده کردم. حالا میخوام نام این DLL رو به یه چیز دیگه تغییر بدم. وقتی اینکارو میکنم این پیغام رو میده:


Could not load file or assembly 'mCoreLib, Version=1.2.20.0, Culture=neutral, PublicKeyToken=null' or one of its dependencies. The system cannot find the file specified.


کسی میدونه چه طور میشه اینکارو کرد؟

r_s1389@yahoo.com
دوشنبه 20 آذر 1391, 19:00 عصر
چرا میخوای تغییرش بدی

behzadkhatari
دوشنبه 20 آذر 1391, 20:18 عصر
خوب هر جا که ازش استفاده کردی رو باید به نام جدید تغییر بدی

saeid_ica
چهارشنبه 22 آذر 1391, 17:03 عصر
بذارین بهتر توضیح بدم. ببینین این کامپوننت رو add میکنم توی پروژه و ازش استفاده میکنم. حالا از پروژه پاکش میکنم. تغییر نام میدم. دوباره add میکنم! موقع اضافه شدن بظاهر مشکلی نداره اما وقتی Run میشه توی initialize کردن error میده. البته به نظر خودم طبیعیه. این کامپوننت 270 قیمتشه و نباید به راحتی تغییر نام بشه. شما مثلا اگه از کامپوننت های devexpress استفاهد کنی و نخوای توی فولدر پروژت کسی بفهمه ازین کامپوننت ها استفاده کردی چی کار میکنی؟

behzadkhatari
چهارشنبه 22 آذر 1391, 23:42 عصر
دوست عزیز rename کردن فایل dll فقط اسم فایل رو عوض میکنه در صورتی که اسم کلاس و اسم کامپوننت در داخل فایل هیچ تغییری نمیکنه. ولی اگه شما میخواید کسی نفهمه شما از چه کامپوننتی استفاده کردید باید اون رو با فایل exe برنامتون merge کنید. این ابزار رو خود مایکروسافت ارائه کرده از لینک زیر طرز استفاده و دانلودش رو ببینید
http://www.microsoft.com/en-us/download/details.aspx?id=17630

saeid_ica
سه شنبه 28 آذر 1391, 15:56 عصر
سلام . ممنون از پاسختون. من نمیدونستم همچین کاری میشه کرد. امروز راجع بهش خوندم. خیلی استفاده کردم جناب behzadkhateri.
اما من هنوز نتونستم تغییر نام بدم. اگر بهتره یه پروژه با این dll آپلود کنم. کسی هست بخوای یه تاشی بکنه واسه این اینکار؟

مهرداد صفا
سه شنبه 28 آذر 1391, 21:47 عصر
سلام
قبل از تغییر نام DLL را موقتا از پروژه حذف کنید و بعد از تغییر نام مجددا به reference اضافه کنید.

behzadkhatari
چهارشنبه 29 آذر 1391, 09:10 صبح
یعنی شما میخواید فقط نام dll تغییر کنه؟ شما اون رو تغییر نام بدید تو detail مربوط به dll مشخصات و اسم dll وجود داره

saeid_ica
چهارشنبه 29 آذر 1391, 12:08 عصر
سلام
قبل از تغییر نام DLL را موقتا از پروژه حذف کنید و بعد از تغییر نام مجددا به reference اضافه کنید.


عرض کردم! همین کار رو میکنم. اما با اسم جدید موقع initialize کردن ارور میده.

saeid_ica
چهارشنبه 29 آذر 1391, 12:14 عصر
یعنی شما میخواید فقط نام dll تغییر کنه؟ شما اون رو تغییر نام بدید تو detail مربوط به dll مشخصات و اسم dll وجود داره

بله فرض کنین فقط میخوام تغییر نام بدم. راه حلی وجود داره؟ البته من با اون روشی که گفتین مشکلم حل شد. الان روی کنجکاوی دارم سوالم رو ادامه میدم!
من راه های زیادی رو تست کردم که نشد. یکیش که فکر کنم راه خوبی هم بود اما من نتونستم ازش جواب بگیرم این بود که من dll رو در توی یک فایل دیگه مخفی کنم. در زمان اجرا dll استخراج بشه و ساخته بشه و به پروژه اضافه بشه. به عبارت ساده تر اضافه کردن و حذف یک reference در زمان اجرا
یه سوال دیگه وسط این کار پیش اومد که اونم حل نشد و اون این بود که مسیر ریفرنس ها رو چطوری میشه تغییر داد؟ یعنی لازم نباشه که حتما dll و فایل اجرایی توی یک روت باشن. مثلا یه فولدر درست کنی که همه dll هاتو توش بریزی.
این چند تا سواله که فعلا جوابی واسشون ندارم!

مهرداد صفا
چهارشنبه 29 آذر 1391, 20:10 عصر
سلام
کمپوننتهای برنامه را در هر پوشه ای میتوان قرار داد ولی باید آدرس آن را به CurrentDirectory در Envirement اضافه کرد.

Sal_64
سه شنبه 04 تیر 1392, 17:35 عصر
سلام
من در کنار برنامم تعدادی dll دارم که نمیخوام به فایل exe بچسبونمشون ، اما میخوام تغییر نامشون بدم
که نمیشه !!
دوستان میتونن راهنمایی کنن
تشکر

behzadkhatari
چهارشنبه 05 تیر 1392, 17:32 عصر
سلام
من در کنار برنامم تعدادی dll دارم که نمیخوام به فایل exe بچسبونمشون ، اما میخوام تغییر نامشون بدم
که نمیشه !!
دوستان میتونن راهنمایی کنن
تشکر

اونها رو rename کنید و به پروژه تون اضافه کنید. هرچند detail و مشخصات dllها تغییر نمیکنه