ورود

نسخه کامل مشاهده نسخه کامل : مطالب مفید و آموزشی پیرامون Net Framework. و تکنولوژی های وابسته



_H2_
07-08-2010, 20:27
سلام
حقیقتش میخواستم مطالبی پیرامون Framework4.0 بنویسم و بهتر دیدم تاپیک کلی برای این مطالب ریز پیزه(:31:) ایجاد کنم، تا اگر بعداً هم مطلب دیگر مختصر و کوتاهی بود، بتوان در همین تاپیک به صورت مجتمع شده ارائه نمود.

پس اهدافی برای تاپیک مشخص میکنم...

=====

در این تاپیک قصد دارم مطالب کوتاه و مفید را بیان کنم.
مطالبی که به تنهایی چندان مهم نیستند.
تاپیک قرار نیست روند ممتد و با نظم و ترتیب خاصی داشته باشد.
(
هر وقت چیز بدرد بخوری به ذهنم رسید و وقت نگارش هم یافتم... (یک چیز تو مایه های بزک نمیر بهار میاد! :31::11:)
)

دوستان دیگر هم در صورت مایل، اگر مطالب کلی و عامی که مربوط به زبان خاصی نشود، و مربوط به دات نت و تکنولوژی های وابسته داشتند میتوانند اینجا قرار دهند.
از کمک این دوستان هم به شخصه خوشحال میشوم و تشکر میکنم.


ولی ترجیحا کما فی السابق پیشنهاد میکنم دوستان اینجا سوالاتشان را مطرح نکنند یا حداقل سوالاتی باشد که در مورد مسایل علمی طرح شده و در جهت شفاف سازی موضوع باشد.

به صورت خاص منظورم این است که سوالاتی با مضموم "فلان کار چطور انجام دهم؟" نباشد.این هم فقط به جهت نظم دادن و تفکیک راحت تر مسایل است.
تا تاپیک ها مفهوم موازی با مفهوم انجمن نداشته باشند.

(((
برای سرورانی که تازه عضو میشوند هم به طور خاص میتوانند پس از جستجو و پیدا نکردن جواب، روی دکمه "موضوع جدید" در انجمن کلیک کنند و سوال جدید با عنوان مشخصی مطرح کنید
[ برای مشاهده لینک ، لطفا با نام کاربری خود وارد شوید یا ثبت نام کنید ] ([ برای مشاهده لینک ، لطفا با نام کاربری خود وارد شوید یا ثبت نام کنید ])
)))


ضمناً برای آنکه مشترک یک تاپیک شوید و از تغییرات آن مطلع شوید ([ برای مشاهده لینک ، لطفا با نام کاربری خود وارد شوید یا ثبت نام کنید ])، حتماً لازم نیست در آن تاپیک پست داشته باشید.
کافی است از منو بالای تاپیک گزینه "اختیارات" و سپس "اشتراک" را انتخاب کنید.
[ برای مشاهده لینک ، لطفا با نام کاربری خود وارد شوید یا ثبت نام کنید ]

جمیعاً موفق باشید.
:10:

_H2_
07-08-2010, 20:30
سلام



بررسی تعامل فریم ورک 4 با نسخه های قبل

بخش اول: یاد آوری تعامل نسخه 2 و 3 با نسخه های قبلی ([ برای مشاهده لینک ، لطفا با نام کاربری خود وارد شوید یا ثبت نام کنید ])
بخش آخر: مروری بر تعامل نسخه 4 با نسخه های قبلی ([ برای مشاهده لینک ، لطفا با نام کاربری خود وارد شوید یا ثبت نام کنید ])

_H2_
08-08-2010, 00:04
سلام
بخش اول: یاد آوری تعامل نسخه 2 و 3 با نسخه های قبلی

فریم ورک 2 که عرضه شد بستر کاملا مستقلی از نسخه 1 داشت.
برنامه و dll های نسخه جدید که در قبلی قابل استفاده نبود که یک چیز معمول و قابل پیشبینی بود.
ولی بجز آن حتی dll های کامپایل شده تحت نسخه 1 هم در نسخه جدید قابل استفاده نبود.
و خوب این مسیله جالبی نبود.

تعداد زیادی ابزار و dll با نسخه قبل منتشر شده بود که هیچ یک دیگر قابل استفاده نبود و کل این ابزار باید مجدد کامپایل و منتشر (و بعضا خریداری) میشدند.

بدتر آنکه اگر قرار بود این روند ادامه یابد...
برای خود من بسیار عجیب و مایوس کننده بود، اینکه با هر نسخه جدید باید کل ابزار و کامپونت ها و dll ها تهیه و تجدید شوند که خود انواع مشکلات و ناهماهنگی ها را در پی داشت.


مایکروسافت این مشکل ظریف ولی مهم را درک کرده بود و با عرضه نسخه سوم فریم ورک رویکرد جدیدی در پیش گرفت.
نسخه سوم کاملا مستقل نبود و بعداز نسخه 2 یا به بیانی روی نسخه دوم نصب میشد و خودش محتاج نسخه 2 بود.
یعنی نسخه 3 دیگر پا در کفش نسخه قبلی نکرده بود و کلاسها و اسمبلی های این نسخه را به عدد 3 تغییر نداده بود.
در واقع نسخه سوم برای خودش اسمبلی های جدیدی تعریف کرده بود و قابلیتهای جدید خودش را مجزا تعریف کرده بود.

این به این معنی بود که هنوز نوع های پایه تحت نسخه 2 بودند و قبل از نصب نسخه 3 حتما اول باید نسخه 2 نصب میشد.

با این مکانیزم دیگر اسمبلی ها و ابزارآلات نسخه 2 قبلی به راحتی در برنامه های نسخه 3 هم کار میکرد. (چون خود نسخه 3 هم از dll های پایه نسخه 2 استفاده میکرد)

همچنین با نصب نسخه 3 برنامه های نسخه 2 هم کار میکردند (چون نسخه 3 در داخل خود اول نسخه 2 را نصب میکرد.)

یعنی شما نسخه Framework3.5 را نصب میکنید ولی mscorlib.dll و System.dll و System.Drawing.dll و System.Windows.Forms.dll و System.Web.dll و... و... همچنان عدد ورژنی 2 دارند.
یعنی اصلاً این dll ها با عدد ورژنی 3 وجود ندارند!

اینها به همان شکل مانده اند و در عوض چیزی مثل System.Core.dll و System.Web.Extensions.dll و... را داریم که شاید بعضی از اینها (نه همه جدیدها) میشد در قبلی ها تلفیق شود.

به بیان ساده تر اگر قرار بود باز در آینده کنترلری اضافه شود، به جای داخل dll های قبلی، این کنترلر باید در یک dll جدید مستقر میشد و این هزینه این هماهنگی با نسخه های قدیم بود.
پس با هر تغییر در نسخه های آینده، باید مدام dll اضافه میشد!!!



مشخص بود که اینهم راه کار نیست.
تا کی میشد با دادن نسخه جدید مدام تمام نسخه های قبلی را نصب و هربار فایلهای جدیدی اضافه کرد و باگ و ایرادهای نسخه قبل را با دادن سرویس پک حل کرد!

این نیاز به گذشته و دست نزدن گذشته باید جایی تمام میشد.

ArashMiniStar
08-08-2010, 07:50
توابع API دات نت جدید رو باید از کجا گرفت؟حتی با هزینه.
خود مایکروسافت API ها رو میده؟
اگه می شه راهنماییم کنید.خیلی ممنون:11:

_H2_
13-08-2010, 13:39
سلام
بخش آخر: مروری بر تعامل نسخه 4 با نسخه های قبلی


[ برای مشاهده لینک ، لطفا با نام کاربری خود وارد شوید یا ثبت نام کنید ]

نسخه 4 مثل نسخه 2 مستقل است و نسخه های قبلی را نصب نمیکند و به آنها نیاز هم ندارد.
ولی
برنامه و پروژه های نسخه 4 مثل نسخه 3 به راحتی میتوانند از ابزار و dll های کامپایل شده در نسخه های پایین تر استفاده کنند، ولی اینبار، بدون آنکه نیاز باشد حتی آن نسخه خاص قبلی نصب شود.

مثلا شما میتوانید exe تحت نسخه 4 بسازید و به راحتی از dll های کامپایل شده تحت نسخه 2 و 3 و 4 همزمان در exe تان استفاده کنید، در نهایت هم کافی است در رایانه مقصد و همراه برنامه فقط Framework4 را نصب کنید! :20:

در واقع CLR پیوند و Reference به نسخه های قدیم را به معادل آنها در نسخه جدید تغییر مسیر و redirect میکند.

=====

برای کنترل این وضعیت (redirect reference) گزینه supportedRuntime در فایل config پروژه موجود است.

مثلاً اگر برنامه کاملی را تحت Framework2.0 نوشته و کامپایل کرده اید و حالا در ماشینی به جای Framework2.0 نسخه Framework4.0 نصب است، به راحتی با اضافه کردن بخش زیر به فایل xml ای کنار exe برنامه با انشعاب config برنامه را اجرا کنید. (بدون نصب نسخه 2)

برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید

فایلهای کامپایل شده جدید تحت نسخه 4 هم به طور خودکار این بخش را دارند، تا در استفاده از dll و کامپونت و ابزار نسخه های پایین تر در نسخه جدید مشکلی برای برنامه ایجاد نشود و برنامه بدون نصب چند نسخه همزمان و موازی framework بتواند به بهترین شکل کار کند.

برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید

=====

باید توجه داشت که کل مطالب فوق وابسته به اولین exe شروع کننده برنامه است.

همچنین لازم به ذکر است که قابلیت مذکور، چیز جدیدی نیست و از نسخه های ابتدایی فریم ورک وجود داشته ولی کامل نبوده و مشکلاتی داشته که شاهد عدم هماهنگی نسخه 2 و 1 و نصب کامل نسخه 2 در دل نسخه 3 برای فرار از این مشکلات بودیم که در پست قبلی تشریح شدند.

==============


توابع API دات نت جدید رو باید از کجا گرفت؟
مطمئن نیستم منظور شما را صحیح و کامل متوجه شده باشم.
لینک های زیر را مرور کنید:
خبرنامه و اطلاع رسانی انجمن Framework - پست مرتبط با VS2010 ([ برای مشاهده لینک ، لطفا با نام کاربری خود وارد شوید یا ثبت نام کنید ])

برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید

==============

با آرزوی موفقیت برای همه دوستان. :10:

ArashMiniStar
09-09-2010, 13:23
مطمئن نیستم منظور شما را صحیح و کامل متوجه شده باشم.
منظورم توابع DLL های خود ویندوز هست.

_H2_
12-09-2010, 22:42
سلام

منظورم توابع DLL های خود ویندوز هستبه msdn مراجعه کنید، مثلاً:
[ برای مشاهده لینک ، لطفا با نام کاربری خود وارد شوید یا ثبت نام کنید ]

ariana4
06-11-2010, 13:20
سلام
من یک مشکل بزگ پیدا کردم لطفا راهنایی کنید
بروی سرور 2003 میخواهم در iis هردو نسخه
v1.1.4322
و
v2.0.50727
اجرا شودولی نمیشه چرا که من در web aplicationخودم از هر دو استفاده کردم
ممنون میشم اگه توضیح کامل بدین