View Full Version : سوال: تبدیل برنامه به فایل های DLL
sinayas
چهارشنبه 11 اردیبهشت 1392, 18:12 عصر
سلام
یک برنامه نوشتم که شامل یک فرم مادر و 25 تا فرم فرزنده .
قصدم اینه که فرم مادر رو به صورت کامل کامپای کنم و فایل اجرایی برنامه بشه .
بقیه فرم ها هم یه صورت DLL باشه که اگه بعدن خواستم تییری توش بدم راحت باشه .
اگه کمک کنید و من رو راهنمایی کنید که چجوری فرم هارو تبدیل کنم ممنون میشم .
پست های مختلفی در این مورد بود ولی به صورت کامل راهنمایی نکرده بودن که چه کاری انجام بدیم .
ممنون میشم کمک کنید
sinayas
چهارشنبه 11 اردیبهشت 1392, 23:08 عصر
از دوستان کسی نیست که این کار رو انجام داده باشه ؟
esafb52
چهارشنبه 11 اردیبهشت 1392, 23:14 عصر
سلام فکر نکنم که فرم رو بتونی dll کنی و بعد هر وقت تغییر دادی بیای اون رو جایگزین کنی و برنامه ات آپدیت بشه!!!شما میتونی مثلا اگه تو برنامه یه کلاس داری اون رو dll کنی و بعد .........
aliasghar2
پنج شنبه 12 اردیبهشت 1392, 00:29 صبح
باید تمام فرم ها وکد هاتو توی یه پروژه ClassLibrary کپی کن بعد اجرا بگیری خیلی راحته
sinayas
جمعه 13 اردیبهشت 1392, 17:01 عصر
ممنون از راهنمایی شما .
اگه امکان داره بیشتر توضیح بدین .
وقتی این کد ها رو در پروژه کپی میکنم موقع build از بیشتر کد ها ارور میگیره .
کامبیز اسدزاده
جمعه 13 اردیبهشت 1392, 17:09 عصر
خب شما در ابتدا به Properties پروژه DLL هاتون رفته و گزینه Output Type رو کنترل کنید که باید روی Class Library باشد و بعد Build نمایید.
بعد از این کار در پروژه اصلیتون که فایل Exe رو ایجاد میکنه از قسمت Reference وارد و فراخوانیش کنید.
نباید در این صورت موردی داشته.
sinayas
شنبه 14 اردیبهشت 1392, 17:24 عصر
ممنون از شما .
نوع پروژه ای که برای شروع انتخاب کردم Class Library بود . از قسمت Properties هم چک کردم . خروجی همون class library بود . ولی همچنان مشکل در Build کردن وجود داره .
مثلا از تمام اجزای داخل فرم اشکال میگیره . از گرید ویو - تکست باکس و ...
اگه راهنمایی بکنید ممنون میشم .
کامبیز اسدزاده
شنبه 14 اردیبهشت 1392, 17:33 عصر
ممنون از شما .
نوع پروژه ای که برای شروع انتخاب کردم Class Library بود . از قسمت Properties هم چک کردم . خروجی همون class library بود . ولی همچنان مشکل در Build کردن وجود داره .
مثلا از تمام اجزای داخل فرم اشکال میگیره . از گرید ویو - تکست باکس و ...
اگه راهنمایی بکنید ممنون میشم .
خب لطفا نوع Net Framework که در پروژه اصلی و فایل DLL استفاده کردین رو مقایسه کنید باید یکسان باشند !
sinayas
شنبه 14 اردیبهشت 1392, 18:40 عصر
هر دو نسخه 4.5 هستن .
ولی خوب اشکال میگیره .
ممنون که کمک میکنید .
کامبیز اسدزاده
شنبه 14 اردیبهشت 1392, 20:02 عصر
هر دو نسخه 4.5 هستن .
ولی خوب اشکال میگیره .
ممنون که کمک میکنید .
حد اقل خطایی که میگیره رو برامون بنویسید اینجا ببینیم سوادمون میرسه بفهمیم چشه یا نه :)
sinayas
شنبه 14 اردیبهشت 1392, 20:24 عصر
بیشتر خطاها رو برطرف کردم .
در واقع اشکال از کار من بود .
حالا یه مشکل دیگه دارم . برای ارتباط با بانک از لینک استفاده کردم .
همون DataContext رو که در پروژه اصلی داشتم رو به اینجا منتقل کردم . از یه بخشی داره ئطا میده که در زیر پیغام خط و کد رو میزارم .
public GBDataClassDataContext() :
base(global::GranitBeton.Properties.Settings.Defau lt.BetonConnectionString, mappingSource)
و خطای زیر رو میده
//
Error 1 The type or namespace name 'Properties' does not exist in the namespace 'GranitBeton' (are you missing an assembly reference?) D:\Sina\Granit Beton Application\BetonDLL\BetonDLL\GBDataClass1.designe r.cs 96 30 BetonDLL
//
در واقع اون قسمت رو که نوشه GranitBeton.Properties نمیشناسه .
البته GranitBeton اسم پروژه اصلی ولی وقتی از اسم همین پروژه که BetonDLL هستم هم استفاده میکنم همین ارور رو میده .
کامبیز اسدزاده
شنبه 14 اردیبهشت 1392, 20:35 عصر
خب عزیز من مشکل شما اینه !!! شما نباید DLL هاتون رو در Assemble و NameSpace Name هم نام پروژه اصلی قرار بدین ! :)
لطفا نام DLL رو یه چیز دیگه بزارید و دوباره رفرنس بگیرید و با نام جدید عملیات مربوطه رو بنویسید.
sinayas
شنبه 14 اردیبهشت 1392, 21:15 عصر
ممنون از شما .
هر جوری بود تونستم این کار رو بکنم و تقریبا مشکل حل شد .
البته فعلا به صورت تست انجام دادم و مجبور شدم یک سری از قسمت ها رو نادیده بگیرم .
امیدوارم بتونم که کل پروژه رو به این صورت آماده بکنم .
vBulletin® v4.2.5, Copyright ©2000-1403, Jelsoft Enterprises Ltd.